CN115149966A - Polar code decoding method and device, electronic equipment and storage medium - Google Patents

Polar code decoding method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN115149966A
CN115149966A CN202210771615.9A CN202210771615A CN115149966A CN 115149966 A CN115149966 A CN 115149966A CN 202210771615 A CN202210771615 A CN 202210771615A CN 115149966 A CN115149966 A CN 115149966A
Authority
CN
China
Prior art keywords
path
longitudinal
decoding
paths
decoded
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
CN202210771615.9A
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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202210771615.9A priority Critical patent/CN115149966A/en
Publication of CN115149966A publication Critical patent/CN115149966A/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

Landscapes

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

Abstract

The disclosure provides a polar code decoding method and device, electronic equipment and a storage medium, and relates to the technical field of mobile communication. The method comprises the following steps: acquiring a polarization code to be decoded with the length of N, dividing the polarization code to be decoded into m subsections to be decoded with the length of N, wherein N, m and N are integral power of 2; performing SCL decoding on m subsections to be decoded through m subsection decoders respectively to obtain split transverse paths; performing longitudinal subsection processing on the transverse path to obtain a plurality of paths to be selected; performing transverse sub-segment processing on a plurality of paths to be selected to obtain a plurality of alternative paths; checking the multiple alternative paths to obtain a decoding path; and obtaining a decoding result of the polar code to be decoded according to the decoding path. The method and the device can carry out global consideration through longitudinal sub-segment processing, and avoid considering only the local probability of one sub-segment to be decoded when screening a plurality of alternative paths. The present disclosure can thus improve the decoding performance of the polar code.

Description

Polar code decoding method and device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of mobile communications technologies, and in particular, to a polar code decoding method and apparatus, an electronic device, and a storage medium.
Background
In the technical field of mobile communication, the reliability of a data transmission process can be ensured by coding and decoding data. The polarization code is a channel coding method which can be theoretically proved to reach the Shannon limit. And decoding the polarization code, namely acquiring the transmitted data.
In the related technology, the polarization code can be divided into a plurality of subsections to be decoded, and then the plurality of subsections to be decoded are decoded in parallel to obtain a path which meets the local optimum and corresponds to each decoding subsection, so that a complete decoding path is obtained.
However, the method provided by the related art can only screen the local optimal path corresponding to each decoding sub-segment, and thus the finally obtained complete decoding path may not satisfy the global optimal, and thus the performance of decoding the polar code by the method is poor.
It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present disclosure, and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The present disclosure provides a polar code decoding method and apparatus, an electronic device, and a storage medium, which at least to some extent overcome the problem of poor decoding performance of polar codes in the related art.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows, or in part will be obvious from the description, or may be learned by practice of the disclosure.
According to an aspect of the embodiments of the present disclosure, there is provided a polar code decoding method, including: acquiring a polarization code to be decoded with the length of N, dividing the polarization code to be decoded into m subsections to be decoded with the length of N, wherein N, m and N are integral powers of 2; performing SCL (sequential Cancellation List) decoding probability calculation and path splitting on m subsections to be decoded by m subsection decoders respectively to obtain split transverse paths; performing longitudinal sub-segment processing on the transverse path to obtain a plurality of paths to be selected; performing transverse sub-segment processing on the multiple paths to be selected to obtain multiple alternative paths; checking the multiple alternative paths to obtain a decoding path; and obtaining a decoding result of the polar code to be decoded according to the decoding path.
In some embodiments of the present disclosure, the performing, by the m-subsegment decoder, probability of occurrence calculation and path splitting on the decoded bit value of the serial cancellation list SCL decoding on the m subsegments to be decoded respectively to obtain a split transverse path includes: SCL decoding processing is carried out on the jth bit of the ith subsection to be decoded through the ith subsection decoder to obtain the occurrence probability of the jth bit and 2l ij A bar transverse path, wherein i =1,2,3, …, m; j =1,2,3, …, n;2l of ij The number of the split transverse paths corresponding to the jth bit of the ith subsection to be decoded.
In some embodiments of the present disclosure, the performing longitudinal sub-segment processing on the transverse path to obtain multiple paths to be selected includes: forming the jth bit of each subsegment to be decoded in the m subsegments to be decoded into a jth longitudinal subsegment, so that the total length of any longitudinal subsegment is m; path splitting is carried out on m bits in the jth longitudinal subsegment in sequence to obtain a split longitudinal path, wherein the number of the longitudinal paths corresponding to the ith bit is 2l vij When 2l is vij >=L v Then, the L with the largest path metric value is reserved v A strip longitudinal path, i =1,2,3, …, m; j =1,2,3, …, n; l is v And l vij The path metric values of any longitudinal path are used for indicating the occurrence probability of any longitudinal path; l for the jth longitudinal sub-segment v Checking the longitudinal paths, and reserving the longitudinal path of the jth longitudinal sub-section passing the checking; according to the longitudinal path of the jth longitudinal subsection passing the verification, the 2l is processed ij Screening the transverse path of the strip, reserving l ij Or 2l ij And (6) selecting a path to be selected.
In some embodiments of the present disclosure, the performing a transverse sub-segment process on the multiple candidate paths to obtain multiple candidate paths includes: respectively carrying out horizontal subsegment processing on a plurality of paths to be selected through m subsegment decoders, wherein the ith subsegment decoder is used for processing the paths from l ij Or 2l ij Reserving the path metric value with maximum l in the candidate path hij Alternative path of strip, when ij Or 2l ij When less than L, L hij Is equal to l ij Or equal to 2l ij When l is ij Or 2l ij When L is greater than or equal to L, L hij Equal to L, i =1,2,3, …, m; j =1,2,3, …, n; l is used for indicating the number threshold of the alternative paths, and is a positive integer; the ith sub-segment decoder is divided into l hij For i-th transverse sub-section on the basis of alternative pathsPerforming occurrence probability calculation and path splitting on a decoding bit value by the (j + 1) th bit, wherein the transverse sub-section is a transverse path with the length of n; when the occurrence probability calculation and the path splitting of the decoding bit value are carried out on the nth bit in the ith transverse subsection, a plurality of alternative paths with the length of n are obtained, and the path splitting is finished;
the checking the multiple alternative paths to obtain a decoding path includes: checking a plurality of alternative paths with the length of n of the m subsegment decoders respectively, and taking the alternative paths which pass the checking and have the maximum path metric value in the m subsegment decoders as decoding paths respectively; and if no alternative path passes the verification in any sub-segment decoder, taking the alternative path with the maximum path metric value in any sub-segment decoder as a decoding path.
In some embodiments of the present disclosure, the obtaining, according to the decoding path, a decoding result of the polar code to be decoded includes: performing sub-segment transformation on m decoding paths of the m sub-segment decoders to obtain m target decoding paths with the length of n; and forming a target decoding path with the length of N by the m target decoding paths, and obtaining a decoding result of the polar code to be decoded after position replacement.
In some embodiments of the present disclosure, the pair of 2l according to the longitudinal path of the jth longitudinal sub-segment passing the verification ij Screening the transverse path of the strip, reserving l ij Or 2l ij A candidate path comprising: if the ith bit value is 0 in the longitudinal path of the jth longitudinal subsection passing the verification, 2l ij Reserving only l with bit value 0 in a horizontal path ij Selecting a path to be selected; if the ith bit value is 1 in the longitudinal path of the jth longitudinal subsection passing the verification, 2l ij Reserving only l with bit value 1 in a horizontal path ij Bar to be selected a path; if the ith bit in the checked longitudinal path of the jth longitudinal subsection is 0 or 1, then 2l ij 2l with bit value of 0 or 1 reserved in a horizontal path ij And (6) selecting a path to be selected.
In some embodiments of the present disclosure, the number of the pair of the jth longitudinal sub-segmentsL v The method for verifying the longitudinal path and reserving the longitudinal path of the jth longitudinal sub-section passing the verification comprises the following steps: l for the jth longitudinal sub-segment v And carrying out parity check or cyclic redundancy check on the strip longitudinal path, and reserving the longitudinal path of the jth longitudinal sub-section passing the check.
In some embodiments of the present disclosure, the subsegment is transformed into an exclusive-or operation on the m decoding paths.
In some embodiments of the present disclosure, the method further comprises: l for the jth longitudinal sub-segment v And checking the longitudinal paths, and stopping decoding when all the longitudinal paths do not pass the check.
According to another aspect of the present disclosure, there is provided a polar code decoding apparatus including:
the device comprises a to-be-decoded polarization code column acquisition module, a to-be-decoded polarization code decoding module and a decoding module, wherein the to-be-decoded polarization code column acquisition module is used for acquiring a to-be-decoded polarization code with the length of N, and dividing the to-be-decoded polarization code into m to-be-decoded subsegments with the length of N, and N, m and N are integral powers of 2;
the transverse path determining module is used for respectively carrying out probability calculation and path splitting on the decoding bit values of serial elimination list SCL decoding on the m subsections to be decoded through the m subsection decoders to obtain split transverse paths;
the longitudinal sub-section processing module is used for carrying out longitudinal sub-section processing on the transverse path to obtain a plurality of paths to be selected;
the transverse subsection processing module is used for carrying out transverse subsection processing on the multiple paths to be selected to obtain multiple alternative paths;
the checking module is used for checking the multiple alternative paths to obtain a decoding path;
and the decoding result determining module is used for obtaining the decoding result of the to-be-decoded polarization code according to the decoding path.
In some embodiments of the present disclosure, the transverse path determining module is configured to perform SCL decoding processing on a jth bit of an ith sub-segment to be decoded by an ith sub-segment decoder to obtain an occurrence probability of the jth bit and 2l ij The strip is moved in a transverse path, wherein,i=1,2,3,…,m;j=1,2,3,…,n;2l ij the number of the transverse paths corresponding to the jth bit of the ith sub-segment to be decoded.
In some embodiments of the present disclosure, the longitudinal sub-segment processing module is configured to combine a jth bit of each sub-segment to be decoded in the m sub-segments to be decoded into a jth longitudinal sub-segment, so that a total length of any longitudinal sub-segment is m; path splitting is carried out on m bits in the jth longitudinal subsegment in sequence, wherein the number of longitudinal paths corresponding to the ith bit is 2l vij When 2l is vij >=L v Then, the L with the largest path metric value is reserved v A strip longitudinal path, i =1,2,3, …, m; j =1,2,3, …, n; l is v And l vij The path metric values of any longitudinal path are used for indicating the occurrence probability of any longitudinal path; l for the jth longitudinal sub-segment v Checking the longitudinal path, reserving the longitudinal path of the jth longitudinal subsection passing the check, and checking the 2l longitudinal subsections according to the longitudinal path of the jth longitudinal subsection passing the check ij Screening the transverse path of the strip, reserving l ij Or 2l ij And (6) selecting a path to be selected.
In some embodiments of the present disclosure, the transverse subsegment processing module is configured to perform transverse subsegment processing on the multiple candidate paths through m subsegment decoders, respectively, where an ith subsegment decoder is selected from l ij Or 2l ij Reserving the path metric value with maximum l in the candidate path hij Alternative path of strip, when ij Or 2l ij When less than L, L hij Is equal to l ij Or equal to 2l ij When l is ij Or 2l ij When L is greater than or equal to L, L hij Equal to L, i =1,2,3, …, m; j =1,2,3, …, n; l is used for indicating the number threshold of the alternative paths, and is a positive integer; the ith sub-segment decoder is divided into l hij On the basis of the alternative paths, carrying out occurrence probability calculation and path splitting on a decoding bit value of a (j + 1) th bit of an ith transverse sub-section, wherein the transverse sub-section is a transverse path with the length of n; when the value of the bit is decoded for the nth bit in the ith horizontal subsectionAfter probability calculation and path splitting, obtaining a plurality of alternative paths with the length of n, and finishing the path splitting;
the checking module is used for respectively checking a plurality of alternative paths with the length of n of the m subsegment decoders and respectively taking the alternative path which passes the checking and has the maximum path metric value in the m subsegment decoders as the decoding path; and if no alternative path passes the verification in any sub-section decoder, taking the alternative path with the maximum path metric value in any sub-section decoder as the decoding path.
In some embodiments of the present disclosure, the decoding result determining module is configured to perform sub-segment transformation on m decoding paths of the m sub-segment decoders to obtain m target decoding paths with a length of n; and forming a target decoding path with the length of N by the m target decoding paths, and obtaining a decoding result of the polar code to be decoded after position replacement.
In some embodiments of the present disclosure, the longitudinal sub-segment processing module is configured to, if the ith bit in the longitudinal path of the jth longitudinal sub-segment that passes the verification is 0, 2l ij Reserving only l with bit value 0 in a horizontal path ij Selecting a path to be selected; if the ith bit value is 1 in the longitudinal path of the jth longitudinal subsection passing the verification, 2l ij Reserving only l with bit value 1 in a horizontal path ij Selecting a path to be selected; if the ith bit value is 0 or 1 in the checked longitudinal path of the jth longitudinal sub-section, 2l ij 2l with bit value of 0 or 1 reserved in a horizontal path ij And (6) selecting a path to be selected.
In some embodiments of the present disclosure, a longitudinal sub-section processing module is configured to process L of the jth longitudinal sub-section v And performing parity check or cyclic redundancy check on the strip longitudinal path, and reserving the longitudinal path of the jth longitudinal sub-section passing the check.
In some embodiments of the present disclosure, the subsegment is transformed into an exclusive-or operation on the m decoding paths.
In some embodiments of the present disclosure, the verification module is further configured to: l for the jth longitudinal sub-segment v Longitudinal direction of stripAnd checking the paths, and stopping decoding when all the longitudinal paths do not pass the check.
According to still another aspect of the present disclosure, there is provided an electronic device including: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the above-described polar code decoding method via execution of the executable instructions.
According to yet another aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, which, when being executed by a processor, implements the above-mentioned polar code decoding method.
According to the technical scheme provided by the embodiment of the disclosure, the longitudinal sub-segment processing can be performed on the transverse path corresponding to each sub-segment to be decoded in the polar code to be decoded. And then, carrying out transverse subsection processing on a plurality of paths to be selected obtained by the longitudinal subsection processing. Therefore, the method and the device can carry out global consideration through longitudinal sub-segment processing, and avoid considering only the local probability of one sub-segment to be decoded when a plurality of alternative paths are screened. The present disclosure can thus improve the decoding performance of the polar code.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty.
Fig. 1 is a schematic diagram illustrating a system architecture of a polar code decoding method according to an embodiment of the present disclosure;
fig. 2 shows a flowchart of a polar code decoding method in an embodiment of the present disclosure;
FIG. 3 is a flow chart illustrating a method for obtaining multiple candidate paths according to an embodiment of the disclosure;
FIG. 4 is a flow chart illustrating a method of deriving multiple alternative paths in an embodiment of the present disclosure;
FIG. 5 is a schematic diagram illustrating a process of decoding a polar code according to an embodiment of the present disclosure;
FIG. 6 is a schematic diagram of a polar code decoding apparatus according to an embodiment of the disclosure; and
fig. 7 shows a block diagram of an electronic device in an embodiment of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
Fig. 1 shows a schematic diagram of an exemplary system architecture of a polar code decoding method that can be applied to the embodiments of the present disclosure.
As shown in fig. 1, system architecture 100 may include terminal device 101 and base station 102.
Terminal device 101 may send the encoded polarization code to be decoded to base station 102. The base station 102 may receive the polar code to be decoded, and decode the polar code to be decoded by the method provided by the present disclosure, so as to obtain a decoding result of the polar code to be decoded.
Alternatively, base station 102 may send the encoded polarization code to be decoded to terminal apparatus 101. The terminal device 101 may receive the polar code to be decoded, and decode the polar code to be decoded by using the method provided by the present disclosure, so as to obtain a decoding result of the polar code to be decoded.
The terminal device 101 may be a variety of electronic devices including, but not limited to, a smartphone, a tablet, a laptop, a desktop computer, a wearable device, an augmented reality device, a virtual reality device, and the like.
It should be noted that the base station 102 may be deployed in a radio access network to provide a communication connection between a terminal device and a background server, and the disclosure does not limit the type of the base station 102, for example, the base station 102 may be a macro base station, a micro base station, or the like. In an LTE (Long Term Evolution) communication system, the base station 102 may be an eNodeB. Alternatively, in an NR (New Radio, new air interface) communication system, the base station 102 may be a gNB.
Those skilled in the art will appreciate that the number of terminal devices 101 and base stations 102 in fig. 1 is merely illustrative, and there may be any number of terminal devices 101 and base stations 102 according to actual needs. The embodiments of the present disclosure are not limited thereto.
The present exemplary embodiment will be described in detail below with reference to the drawings and examples.
First, the present disclosure provides a polar code decoding method, which can be executed by any electronic device with computing processing capability.
Fig. 2 shows a flowchart of a polar code decoding method in an embodiment of the present disclosure, and as shown in fig. 2, the polar code decoding method provided in the embodiment of the present disclosure includes the following steps S201 to S204.
S202, acquiring a polarization code to be decoded with the length of N, dividing the polarization code to be decoded into m subsections to be decoded with the length of N, wherein N, m and N are integral powers of 2.
Illustratively, the polar code to be decoded can be represented as a log-likelihood ratio sequence. Illustratively, the polar code to be decoded may also be a polar code bit sequence. The length and the content of the polar code to be decoded are not limited in the embodiment of the disclosure, and both the length and the content of the polar code to be decoded can be determined according to an application scenario.
In some embodiments, after obtaining the polarization code to be decoded, the polarization code to be decoded may be divided into subsections to be decoded, so as to obtain m subsections to be decoded with the length of n. For example, if the length of the polar code to be decoded is N, then m × N = N (m and N can both be an integral power of 2). For example, the polar code to be decoded may be divided into m subsections with length of n in sequence, and then the divided subsections are respectively subjected to inversion sequence conversion to obtain m subsections with length of n to be decoded.
S204, performing SCL decoding bit value occurrence probability calculation and path splitting on the m subsections to be decoded respectively through the m subsection decoders to obtain split transverse paths.
In a possible implementation manner, the probability of occurrence of the decoding bit value of SCL decoding and the path splitting are performed on any sub-segment to be decoded, so that a decoding tree can be obtained, and the decoding tree includes a plurality of transverse paths obtained by performing SCL decoding on the sub-segment to be decoded.
Exemplarily, after m subsections to be decoded with the length of n are obtained, each subsection to be decoded can be decoded in parallel by m subsection decoders. In some embodiments, the performing, by the m-segment decoder, occurrence probability calculation and path splitting of the decoded bit value of the SCL decoding on the m to-be-decoded sub-segments respectively to obtain a split lateral path may include: SCL decoding processing is carried out on the jth bit of the ith subsection to be decoded through the ith subsection decoder to obtain the occurrence probability of the jth bit and 2l ij A bar transverse path, wherein i =1,2,3, …, m; j =1,2,3, …, n;2l ij The number of the split transverse paths corresponding to the jth bit of the ith subsection to be decoded.
In the exemplary embodiment, the polar code to be decoded with the length of N is subjected to sub-decodingAfter the segments are divided, 8 subsections to be decoded with the length of n can be obtained. At this time, the occurrence probability calculation and the path splitting of the decoding bit value of the SCL decoding can be respectively performed on 8 subsections to be decoded by 8 subsection decoders, wherein each subsection decoder is responsible for any subsection to be decoded. For example, the 3 rd sub-segment decoder may perform SCL decoding on a first bit of a certain sub-segment to be decoded to obtain the occurrence probability that the bit value of the first bit takes 0 and 1, thereby obtaining two lateral paths. Then, the 3 rd sub-segment decoder may perform SCL decoding processing on the second bit of the sub-segment to be decoded on the basis of two lateral paths where the bit value of the first bit takes 0 and 1, to obtain the occurrence probability where the bit value of the second bit takes 0 and 1. So that on the basis of the two split paths described above, the split results in four split transverse paths. Similarly, SCL decoding is performed on the jth bit of the sub-segment to be decoded, so as to obtain 2l ij Transverse path after splitting of the strip, /) ij The number of the split transverse paths corresponding to the j-1 th bit of the sub-section to be decoded. Wherein i =1,2,3, …, m; j =1,2,3, …, n. Thus, for example, i =2,j =3, l 23 That is, the occurrence probability of the decoding bit value of the SCL decoding performed by the 2 nd sub-segment decoder and the number of split transverse paths corresponding to the 3 rd bit of the path split sub-segment to be decoded are calculated.
In the horizontal subsections there are some bits with a bit value of 0, which may be referred to as constant 0 bits. These constant 0 bits are obtained by an xor operation of an even number of frozen bits. In the calculation of the occurrence probability of the decoding bit value of the sub-segment SCL decoding and the path splitting, when the decoding bit is a constant 0 bit, the occurrence probability of the bit value 0 is 1, and the occurrence probability of the bit value 1 is 0, so that only the path with the bit value 0 needs to be reserved, and the path splitting is not needed, the transverse sub-segment is a transverse path with the length of n, namely, when the path of SCL decoding is split to the last bit for any sub-segment to be decoded, the obtained transverse path is obtained.
And S206, performing longitudinal subsection processing on the transverse path to obtain a plurality of paths to be selected.
In some embodiments, the split transverse paths may first be grouped into corresponding longitudinal subsections. And then according to the result of performing SCL decoding processing on each subsection to be decoded, performing longitudinal path splitting on each longitudinal subsection to obtain a plurality of paths to be selected. As shown in fig. 3, the method for performing longitudinal sub-section processing on a transverse path to obtain multiple paths to be selected may include the following steps S302 to S306.
S302, the jth bit of each subsegment to be decoded in the m subsegments to be decoded is formed into a jth longitudinal subsegment, and the total length of any longitudinal subsegment is m.
In an exemplary embodiment, 32 horizontal subsegments are taken as an example, wherein the total length of any horizontal subsegment can be 128, so that the 32 subsegments to be decoded can form 128 longitudinal subsegments in total, and the total length of each longitudinal subsegment is 32.
S304, path splitting is carried out on m bits in the jth longitudinal subsegment in sequence to obtain split longitudinal paths, wherein the number of the longitudinal paths corresponding to the ith bit is 2l vij When 2l vij >=L v Then, the L with the largest path metric value is reserved v A strip longitudinal path, i =1,2,3, …, m; j =1,2,3, …, n; l is v And l vij The path metric values of any longitudinal path are used for indicating the occurrence probability of any longitudinal path.
In a possible implementation manner, path splitting is performed on any longitudinal sub-segment, so that a decoding tree can be obtained, and the decoding tree includes a plurality of longitudinal paths obtained by path splitting performed on the longitudinal sub-segment.
In an exemplary embodiment, taking a first longitudinal sub-segment composed of a first bit of each horizontal sub-segment as an example, after SCL decoding has been performed on a first bit of each sub-segment to be decoded by m sub-segment decoders, path splitting may be performed in order on occurrence probabilities of 0 and 1 corresponding to the first bit of each sub-segment to be decoded, and the first bit of the first horizontal sub-segment obtains two corresponding longitudinal paths. Then, in the aboveOn the basis of two longitudinal paths, the second bit of the longitudinal sub-section, namely the first bit of the second transverse sub-section, is subjected to path splitting according to the corresponding 0 and 1 occurrence probabilities to obtain four corresponding longitudinal paths, and the other bits of the first longitudinal sub-section are subjected to path splitting in sequence to obtain 2l vi1 The strip longitudinal path. Similarly, path splitting is carried out on m bits in the j-1 th longitudinal subsegment in sequence to obtain 2l vij A longitudinal path, and then path splitting is carried out on m bits in the jth longitudinal subsection in sequence to obtain 2l vij A longitudinal path. Illustratively, 2l corresponding to the j-1 th longitudinal sub-section vij Longitudinal path, for example, in the 2l vij In the strip splitting path, the number of the vertical paths with the bit value of 0 of any bit is l vij0 The number of vertical paths with bit value 1 of any bit is l vij1 ,2l vij Is equal to l vij0 And l vij1 The sum of the amounts of (c). Wherein i =1,2,3, …, m; j =1,2,3, …, n. Thus, 2l for example with i =2,j =3 v23 I.e. the number of longitudinal paths corresponding to the 2 nd bit in the 3 rd longitudinal sub-segment. Or, 2l v23 It can also be referred to as the number of candidate paths corresponding to the 2 nd bit in the 3 rd longitudinal sub-segment.
In an exemplary embodiment, one L may be set v The value of (c). When the number of longitudinal paths is greater than L v The value of (c) is then to be filtered to make the number of longitudinal paths always less than or equal to L v The value of (c). Practice of the disclosure example for L v Is limited by the value of L v The value of (b) will affect decoding performance, decoding complexity and early-stop timing, and can be set based on technical indexes or application scenarios.
In some embodiments, the vertical paths may be filtered by the size of the path metric value for each bit in each vertical path. So that the L with the largest path metric value can be reserved v The strip longitudinal path. The embodiment of the present disclosure does not limit the calculation method of the path metric value of each bit, and for example, the path metric value of each bit may be calculated byAnd calculating the signal-to-noise ratio when the polar code to be decoded is transmitted. Illustratively, l corresponding to the j-1 th longitudinal sub-section vij Longitudinal path, for example, when 2l vij >=L v For the 2l vij Screening the strip splitting paths, and reserving L with the maximum path metric value v The strip longitudinal path. In that the L is v In the strip of longitudinal paths, the number of longitudinal paths with the bit value of 0 of any bit is l vij0 The number of vertical paths with bit value 1 of any bit is l vij1 ,2l vij Is equal to l vij0 And l vij1 The sum of the amounts of (a) and (b). The embodiment of the present disclosure does not limit the method for representing the path metric value, and the path metric value may be represented by a log likelihood ratio, for example. Since the occurrence probability is prone to overflow in program calculation, for example, when the length N of the polar code to be decoded is 1024, the occurrence probability of any one vertical path is very small, and therefore, the occurrence probability can be replaced by using a log-likelihood ratio.
S306, for the L of the jth longitudinal subsection v Checking the longitudinal paths, and reserving the longitudinal path of the jth longitudinal subsection passing the check; according to the longitudinal path of the jth longitudinal subsection passing the verification, the 2l is paired ij The strip is screened along the transverse path, retaining ij Or 2l ij And (6) selecting a path to be selected.
In some embodiments, L for the jth longitudinal sub-segment v Checking the longitudinal path, and reserving the longitudinal path of the jth longitudinal sub-section passing the check, wherein the checking comprises the following steps of: l for jth longitudinal sub-section v The strip vertical path performs Parity Check (Parity Check) or Cyclic Redundancy Check (CRC), and the vertical path of the jth vertical subsection passing the Check is reserved. The embodiments of the present disclosure do not limit the parity check and the cyclic redundancy check. Alternatively, other applicable verification methods may be used herein for L of the jth longitudinal sub-segment v The strip longitudinal path is verified.
The polar code decoding method provided by the embodiment of the disclosure may further include: l for jth longitudinal subsection v The strip is made in a longitudinal pathAnd checking, and stopping decoding when all the longitudinal paths do not pass the checking. Illustratively, if none of the vertical paths passes the check, the decoding is proved to fail. In this case, an early stop function in decoding the polar code can be realized, and the retransmission process is allowed to be started in advance without continuing decoding. Therefore, the embodiment of the disclosure can reduce the calculation amount of polar code decoding and shorten the waiting time of frame error retransmission.
In some embodiments, the pairs 2l are determined according to the longitudinal path of the jth longitudinal sub-section passing the verification ij The strip is screened along the transverse path, retaining ij Or 2l ij A candidate path comprising: if the ith bit value is 0 in the checked longitudinal path of the jth longitudinal sub-section, 2l ij Reserving only l with bit value 0 in a horizontal path ij Selecting a path to be selected; if the ith bit value is 1 in the checked longitudinal path of the jth longitudinal sub-section, 2l ij Reserving only l with bit value 1 in a horizontal path ij Selecting a path to be selected; if the ith bit value is 0 or 1 in the checked longitudinal path of the jth longitudinal sub-section, 2l ij 2l with bit value of 0 or 1 reserved in a horizontal path ij And (6) selecting a path to be selected.
Illustratively, taking 128 longitudinal sub-segments as an example, the total length of each longitudinal sub-segment is 32. When the longitudinal path corresponding to the 6 th longitudinal sub-segment is verified, it can be assumed that 9 longitudinal paths pass the verification. And, the bit values of the 10 th bit in the longitudinal path passing the check may all be 0. Therefore, when the 10 th sub-segment SCL decoder performs the calculation of the occurrence probability of the decoded bit value of the corresponding SCL decoding and the path splitting on the 7 th bit, the calculation of the occurrence probability of the decoded bit value of the SCL decoding and the path splitting may be performed only on the basis of the 9 vertical paths in which the bit value of the 10 th bit is 0.
Similarly, taking the above 128 longitudinal sub-segments as an example, the total length of each longitudinal sub-segment is 32. When the longitudinal path corresponding to the 12 th longitudinal sub-segment is verified, it can be assumed that 10 longitudinal paths pass the verification. Furthermore, the bit value of the 18 th bit in the 10 verified vertical paths may be all 1, so that, when the 18 th sub-segment SCL decoder performs the calculation of the occurrence probability of the decoded bit value of the corresponding SCL decoding on the 13 th bit and the path splitting, the calculation of the occurrence probability of the decoded bit value of the SCL decoding and the path splitting may be performed only on the basis of the 10 vertical paths in which the bit value of the 18 th bit is 1.
Similarly, taking the above 128 longitudinal sub-segments as an example, the total length of each longitudinal sub-segment is 32. When the longitudinal path corresponding to the 3 rd longitudinal sub-segment is verified, it can be assumed that 4 longitudinal paths pass the verification. Moreover, the bit value of the 6 th bit in the 4 verified vertical paths may include 0 and 1, so that, when the 6 th sub-segment SCL decoder performs calculation of the occurrence probability of the decoded bit value of the corresponding SCL decoding on the 4 th bit and path splitting, the 6 th sub-segment SCL decoder may perform calculation of the occurrence probability of the decoded bit value of the SCL decoding and path splitting only on the basis of the 4 vertical paths in which the bit value of the 6 th bit is 0 or 1.
And S208, performing transverse subsection processing on the multiple paths to be selected to obtain multiple alternative paths.
In some embodiments, a method for performing horizontal sub-segment processing on multiple candidate paths to obtain multiple candidate paths may be as shown in fig. 4.
S402, respectively carrying out transverse subsection processing on a plurality of paths to be selected through m subsection decoders, wherein the ith subsection decoder is connected with the I subsection decoder ij Or 2l ij Reserving the path metric value with maximum l in the candidate path hij Alternative path of strip, when ij Or 2l ij When less than L, L hij Is equal to l ij Or equal to 2l ij When l is ij Or 2l ij When L is greater than or equal to L, L hij Equal to L, i =1,2,3, …, m; j =1,2,3, …, n; l is used to indicate a threshold number of alternative paths, L being a positive integer.
Illustratively, taking the example that 16 sub-segment decoders respectively perform the horizontal sub-segment processing on a plurality of paths to be selected, wherein the total length of any path to be selected is 16. Wherein, the 16 sub-segment decoders respectively correspond to each path to be selectedA bit, for example, the 1 st sub-segment decoder may correspond to the first bit in each candidate path. The 1 st sub-segment decoder may further screen the multiple candidate paths obtained above. The screening method for obtaining the candidate route can screen the horizontal subsegments based on the route metric value of the horizontal subsegments and reserve the maximum value l of the route metric hij The alternate path is striped. In an exemplary embodiment, a value of L may be set. And when the number of the paths to be selected is larger than the value of the L, screening the paths to be selected so that the number of the paths to be selected is always smaller than or equal to the value of the L. The value of L is not limited in the embodiment of the present disclosure, and may be set based on a technical index or an application scenario.
S404, the ith subsection decoder is with l hij On the basis of the alternative paths, carrying out occurrence probability calculation and path splitting on the (j + 1) th bit of the ith transverse subsection; and when the occurrence probability calculation of the decoding bit value and the path splitting are carried out on the nth bit in the ith transverse subsection, obtaining a plurality of alternative paths with the length of n, and ending the path splitting.
For example, by the above-mentioned horizontal sub-segment processing method, each sub-segment decoder may perform probability calculation of occurrence of decoded bit values and path splitting on the next bit based on the alternative path corresponding to the previous bit until the next bit is split to the last bit, so as to obtain a plurality of final alternative paths with the length of n.
S210, checking the multiple alternative paths to obtain a decoding path.
In some embodiments, checking the multiple candidate paths to obtain a decoding path includes: respectively checking a plurality of alternative paths with the length of n of the m subsegment decoders, and respectively taking the alternative paths which pass the checking and have the maximum path metric value in the m subsegment decoders as decoding paths; and if no alternative path passes the verification in any sub-section decoder, taking the alternative path with the maximum path metric value in any sub-section decoder as a decoding path.
In a possible embodiment, if any sub-segment decoder has no alternative path passing the check, the decoding is proved to be failed. The method for checking the multiple candidate paths is not limited in the embodiments of the present disclosure, and for example, the method for checking the multiple candidate paths may be the same as the method for checking the longitudinal path, and may be parity check, cyclic redundancy check, or other suitable checking methods.
S212, a decoding result of the polar code to be decoded is obtained according to the decoding path.
In some embodiments, obtaining a decoding result of the polar code to be decoded according to the decoding path includes: performing sub-segment conversion on m decoding paths of the m sub-segment decoders to obtain m target decoding paths with the length of n; and forming a target decoding path with the length of N by the m target decoding paths, and obtaining a decoding result of the polar code to be decoded after position replacement.
In some embodiments, the subsegments are transformed into exclusive-or operations on the m decoding paths. For example, the decoding paths (which may also be referred to as decoding bit sequences) corresponding to the m sub-segment SCL decoders may be respectively set to a, and therefore, the m decoding bit sequences a may obtain m target decoding paths (which may also be referred to as target decoding bit sequences) with a length of n after sub-segment transformation, and the m target decoding paths may be set to v. The sub-segment conversion formula between a and v can be as shown in formula 1:
Figure BDA0003724369270000141
wherein,
Figure BDA0003724369270000142
Figure BDA0003724369270000143
Figure BDA0003724369270000144
in addition, the first and second substrates are,
Figure BDA0003724369270000145
is that
Figure BDA0003724369270000146
The product of gram-like.
It should be noted that, in the following description,
Figure BDA0003724369270000147
and
Figure BDA0003724369270000148
may be used to represent the decision value of the decoded bit. Also, the decision value is not necessarily the original value of the transmitting end.
Then, after the formula 1 is developed, the target decoding bit sequence as shown below can be obtained:
Figure BDA0003724369270000151
in this specification, since the decoding path and the decoding bit sequence have the same meaning, the target decoding path and the target decoding bit sequence have the same meaning, the alternative path and the alternative bit sequence have the same meaning, and the split path and the split bit sequence have the same meaning.
Illustratively, if the length-N polar code encoding process includes the inversion transformation, the position is replaced by the inverse processing of the inversion transformation; if the encoding process of the polar code with the length of N does not contain inverted bit sequence transformation, the bit sequence in the decoding result with the length of N can be kept unchanged by the position replacement.
Exemplarily, if a subsegment to be decoded with the length of n contains inversion sequence transformation in the process of encoding the polarization code, the inversion sequence transformation needs to be correspondingly performed after the sequence to be decoded is sequentially divided into m subsegments to be decoded, so as to obtain the subsegments to be decoded; if the subsegment to be decoded with the length of n does not contain inversion sequence transformation in the process of encoding the polarization code, inversion sequence transformation is not needed after the sequence to be decoded is divided into m subsegments to be decoded according to the sequence, and the bit sequence in the decoding result of the subsegment to be decoded with the length of n can be kept unchanged by the position replacement.
The method provided by the embodiment of the disclosure can perform longitudinal sub-segment processing on the split transverse path corresponding to each sub-segment to be decoded in the polar code to be decoded. And then, carrying out transverse sub-section processing on a plurality of paths to be selected obtained by the longitudinal sub-section processing. Therefore, the method and the device can carry out global consideration through longitudinal sub-segment processing, and avoid considering only the local probability of one sub-segment to be decoded when a plurality of alternative paths are screened. The present disclosure can thus improve the decoding performance of the polar code.
For example, a schematic process diagram of decoding a polar code can be shown in fig. 5. For the polar code to be decoded with the length of N, the polar code to be decoded is divided into m subsections to be decoded with the length of N, SCL decoding can be simultaneously carried out through m subsections SCL decoders, and the probability of occurrence of decoding bit values of the SCL decoding and path splitting are carried out on each subsection to be decoded, so that a split transverse path is obtained. Exemplarily, SCL decoding processing is performed on the jth bit of each sub-segment to be decoded, so as to obtain 2l ij The strip is a transverse path. This step can be referred to as S204, which is not described herein again.
And then, longitudinal subsection processing can be carried out on the transverse path to obtain a plurality of paths to be selected. For example, for the jth bit of each sub-segment to be decoded, the jth bit of each sub-segment to be decoded in the m sub-segments to be decoded may be grouped into the jth longitudinal sub-segment. Sequentially splitting paths of m bits in the jth longitudinal subsegment, wherein the number of the longitudinal paths corresponding to the ith bit is 2l vij When 2l vij >=L v Then, the L with the largest path metric value is reserved v The strip longitudinal path. Then, L of the jth longitudinal sub-section can be compared v Checking the longitudinal path, reserving the longitudinal path of the jth longitudinal subsection passing the check, and carrying out the 2l pair of longitudinal subsections according to the longitudinal path of the jth longitudinal subsection passing the check ij Screening the transverse path of the strip, reserving l ij Or 2l ij And (6) selecting a path to be selected. This step can be referred to as S206, which is not described herein.
In what is obtainedTo l ij Or 2l ij After selecting the path to be selected, can be paired with l ij Or 2l ij The strip to be selected path is processed by the transverse subsection, multiple alternative paths are obtained. Illustratively, l may be respectively paired by m sub-segment decoders ij Or 2l ij The path to be selected is processed by transverse subsegment, wherein the ith subsection decoder is processed by the I ij Or 2l ij Reserving the path metric value with maximum l in the candidate path hij Alternative path of strip, when ij Or 2l ij When less than L, L hij Is equal to l ij Or equal to 2l ij When l is ij Or 2l ij When L is greater than or equal to L, L hij Equal to L. This step can be referred to as S208, which is not described herein again.
After the multiple candidate paths are obtained, the next bit decoding process may be performed on the sub-segment SCL decoder according to the multiple candidate paths obtained by the sub-segment SCL decoder. Illustratively, the multiple alternative paths are multiple alternative paths obtained by the ith sub-segment decoder for the jth bit. When the number of the candidate paths is L, the number of the transverse paths obtained by performing SCL decoding on the j +1 th bit is 2L. And then, obtaining a j +1 th longitudinal sub-section according to 2L transverse paths corresponding to a j +1 th bit, repeating the operation according to the j +1 th longitudinal sub-section, and reserving L or 2L paths to be selected. After the L or 2L candidate paths are obtained, the above operations may be repeated according to the L or 2L candidate paths to obtain L candidate paths.
And finally, checking the L alternative paths to obtain the decoding paths passing the check. Illustratively, the check may be a CRC check. And performing position replacement operation on the decoding path to obtain a final decoding result of the polar code to be decoded. This step can be referred to as S210 and S212, which are not described herein.
Based on the same inventive concept, the embodiment of the present disclosure further provides a polar code decoding apparatus, as described in the following embodiments. Because the principle of the embodiment of the apparatus for solving the problem is similar to that of the embodiment of the method, the embodiment of the apparatus can be implemented by referring to the implementation of the embodiment of the method, and repeated details are not described again.
Fig. 6 is a schematic diagram of a polar code decoding apparatus in an embodiment of the present disclosure, and as shown in fig. 6, the apparatus includes:
a to-be-decoded polarization code column obtaining module 601, configured to obtain a to-be-decoded polarization code with a length of N, and divide the to-be-decoded polarization code into m to-be-decoded subsections with a length of N, where N, m and N are integral powers of 2;
a transverse path determining module 602, configured to perform probability calculation of occurrence of decoded bit values of serial erasure list SCL decoding and path splitting on the m subsections to be decoded respectively through the m subsection decoders, so as to obtain split transverse paths;
a longitudinal sub-section processing module 603, configured to perform longitudinal sub-section processing on the horizontal path to obtain multiple paths to be selected;
a transverse sub-section processing module 604, configured to perform transverse sub-section processing on multiple paths to be selected to obtain multiple alternative paths;
a checking module 605 for checking the plurality of alternative paths, obtaining a decoding path;
and a decoding result determining module 606, configured to obtain a decoding result of the polar code to be decoded according to the decoding path.
In some embodiments of the present disclosure, the transverse path determining module 602 is configured to perform SCL decoding processing on a jth bit of an ith sub-segment to be decoded by an ith sub-segment decoder to obtain an occurrence probability of the jth bit and 2l ij A bar transverse path, wherein i =1,2,3, …, m; j =1,2,3, …, n;2l ij The number of the split transverse paths corresponding to the jth bit of the ith subsection to be decoded.
In some embodiments of the present disclosure, the longitudinal sub-segment processing module 603 is configured to combine a jth bit of each sub-segment to be decoded in the m sub-segments to be decoded into a jth longitudinal sub-segment, so that a total length of any longitudinal sub-segment is m; sequentially splitting paths of m bits in the jth longitudinal subsegment, wherein the number of the longitudinal paths corresponding to the ith bit is 2l vij When 2l vij >=L v Then, the L with the largest path metric value is reserved v A strip longitudinal path, i =1,2,3, …, m; j =1,2,3, …, n; l is v And l vij The path metric values of any longitudinal path are used for indicating the occurrence probability of any longitudinal path; l for jth longitudinal subsection v Checking the longitudinal path, reserving the longitudinal path of the jth longitudinal subsection passing the check, and carrying out the 2l pair of longitudinal subsections according to the longitudinal path of the jth longitudinal subsection passing the check ij Transverse paths after splitting are screened, and l is reserved ij Or 2l ij And (6) selecting a path to be selected.
In some embodiments of the present disclosure, the horizontal sub-segment processing module 604 is configured to perform horizontal sub-segment processing on multiple candidate paths through m sub-segment decoders, respectively, where the ith sub-segment decoder is selected from l ij Or 2l ij Reserving the path metric value with maximum l in the candidate path hij Alternative path of strip, when ij Or 2l ij When less than L, L hij Is equal to l ij Or equal to 2l ij When l is ij Or 2l ij When L is greater than or equal to L, L hij Equal to L, i =1,2,3, …, m; j =1,2,3, …, n; l is used for indicating the number threshold of the alternative paths, and is a positive integer; ith subsection decoder with l hij On the basis of the alternative paths, carrying out probability calculation of occurrence of a decoding bit value and path splitting on the (j + 1) th bit of the ith transverse sub-section, wherein the transverse sub-section is a transverse path with the length of n; when the occurrence probability calculation and the path splitting of the decoding bit value are carried out on the nth bit in the ith transverse subsection, a plurality of alternative paths with the length of n are obtained, and the path splitting is finished;
a checking module 605, configured to check multiple candidate paths with a length of n for the m sub-segment decoders, and take, as a decoding path, a candidate path that passes the check and has a maximum path metric value in the m sub-segment decoders, respectively; and if no alternative path passes the verification in any sub-section decoder, taking the alternative path with the maximum path metric value in any sub-section decoder as a decoding path.
In some embodiments of the present disclosure, the decoding result determining module 606 is configured to perform sub-segment transformation on m decoding paths of m sub-segment decoders to obtain m target decoding paths with a length of n; and forming a target decoding path with the length of N by the m target decoding paths, and obtaining a decoding result of the polar code to be decoded after position replacement.
In some embodiments of the present disclosure, the longitudinal sub-section processing module 603 is configured to, if the ith bit in the longitudinal path of the jth longitudinal sub-section passing the verification is all 0, 2l ij Reserving only l with bit value 0 in a horizontal path ij Selecting a path to be selected; if the ith bit value is 1 in the longitudinal path of the jth longitudinal subsection passing the verification, 2l ij Reserving only l with bit value 1 in a horizontal path ij Selecting a path to be selected; if the ith bit in the checked longitudinal path of the jth longitudinal subsection is 0 or 1, then 2l ij 2l with bit value of 0 or 1 reserved in a horizontal path ij And (6) selecting a path to be selected.
In some embodiments of the present disclosure, the longitudinal sub-section processing module 603 is configured to process L of the jth longitudinal sub-section v And performing parity check or cyclic redundancy check on the strip longitudinal path, and reserving the longitudinal path of the jth longitudinal sub-section passing the check.
In some embodiments of the present disclosure, a sub-segment is transformed into an exclusive-or operation on m decoding paths.
In some embodiments of the present disclosure, the verification module 605 is further configured to: l for jth longitudinal subsection v And checking the longitudinal paths, and stopping decoding when all the longitudinal paths do not pass the check.
The device provided by the embodiment of the disclosure can perform longitudinal sub-segment processing on the split transverse path corresponding to each sub-segment to be decoded in the polar code to be decoded. And then, carrying out transverse sub-section processing on a plurality of paths to be selected obtained by the longitudinal sub-section processing. Therefore, the method and the device can carry out global consideration through longitudinal sub-segment processing, and avoid considering the local probability of one sub-segment to be decoded when a plurality of alternative paths are screened. The present disclosure can thus improve the decoding performance of the polar code.
As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, method or program product. Accordingly, various aspects of the present disclosure may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
An electronic device 700 according to this embodiment of the disclosure is described below with reference to fig. 7. The electronic device 700 shown in fig. 7 is only an example and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 7, electronic device 700 is embodied in the form of a general purpose computing device. The components of the electronic device 700 may include, but are not limited to: the at least one processing unit 710, the at least one memory unit 720, and a bus 730 that couples various system components including the memory unit 720 and the processing unit 710.
Wherein the storage unit stores program code that can be executed by the processing unit 710 to cause the processing unit 710 to perform the steps according to various exemplary embodiments of the present disclosure described in the above section "detailed description" of the present specification.
The storage unit 720 may include readable media in the form of volatile memory units, such as a random access memory unit (RAM) 7201 and/or a cache memory unit 7202, and may further include a read only memory unit (ROM) 7203.
The storage unit 720 may also include a program/utility 7204 having a set (at least one) of program modules 7205, such program modules 7205 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
Bus 730 may be any representation of one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
The electronic device 700 may also communicate with one or more external devices 740 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device 700, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 700 to communicate with one or more other computing devices. Such communication may occur through input/output (I/O) interfaces 750. Also, the electronic device 700 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the internet) via the network adapter 760. As shown, the network adapter 760 communicates with the other modules of the electronic device 700 over the bus 730. It should be understood that although not shown in the figures, other hardware and/or software modules may be used in conjunction with the electronic device 700, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, to name a few.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, and may also be implemented by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, there is also provided a computer-readable storage medium, which may be a readable signal medium or a readable storage medium. On which a program product capable of implementing the above-described method of the present disclosure is stored. In some possible embodiments, various aspects of the disclosure may also be implemented in the form of a program product comprising program code for causing a terminal device to perform the steps according to various exemplary embodiments of the disclosure as described in the "detailed description" section above of this specification, when the program product is run on the terminal device.
More specific examples of the computer-readable storage medium in the present disclosure may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
In the present disclosure, a computer readable storage medium may include a propagated data signal with readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Alternatively, program code embodied on a computer readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
In particular implementations, program code for carrying out operations of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + +, or the like, as well as conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functions of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Moreover, although the steps of the methods of the present disclosure are depicted in the drawings in a particular order, this does not require or imply that the steps must be performed in this particular order, or that all of the depicted steps must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken into multiple step executions, etc.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice in the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope of the disclosure being indicated by the following claims.

Claims (12)

1. A method for decoding a polar code, comprising:
acquiring a to-be-decoded polarization code with the length of N, dividing the to-be-decoded polarization code into m to-be-decoded subsections with the length of N, wherein N, m and N are integral powers of 2;
performing occurrence probability calculation and path splitting on the decoding bit values decoded by the SCL through m subsegments to be decoded by the m subsegments decoders respectively to obtain split transverse paths;
performing longitudinal sub-segment processing on the transverse path to obtain a plurality of paths to be selected;
performing transverse sub-section processing on the multiple paths to be selected to obtain multiple alternative paths;
checking the multiple alternative paths to obtain a decoding path;
and obtaining a decoding result of the polar code to be decoded according to the decoding path.
2. The method according to claim 1, wherein the calculating of the occurrence probability of the decoded bit value and the path splitting of the serial cancellation list SCL decoding are respectively performed on m subsections to be decoded by m subsection decoders to obtain split transverse paths, and the method comprises:
SCL decoding processing is carried out on the jth bit of the ith subsection to be decoded through the ith subsection decoder to obtain the occurrence probability of the jth bit and 2l ij A bar transverse path, wherein i =1,2,3, …, m; j =1,2,3, …, n;2l ij The number of the transverse paths corresponding to the jth bit of the ith sub-segment to be decoded.
3. The polar code decoding method according to claim 2, wherein the performing longitudinal sub-segment processing on the transverse path to obtain a plurality of paths to be selected includes:
forming the jth bit of each subsection to be decoded in the m subsections to be decoded into the jth longitudinal subsection so as to enable the total length of any longitudinal subsection to be m;
path splitting is carried out on m bits in the jth longitudinal subsegment in sequence to obtain a split longitudinal path, wherein the number of the longitudinal paths corresponding to the ith bit is 2l vij When 2l vij >=L v Then, the L with the largest path metric value is reserved v A strip longitudinal path, i =1,2,3, …, m; j =1,2,3, …, n; l is a radical of an alcohol v And l vij The path metric values of any longitudinal path are used for indicating the occurrence probability of any longitudinal path;
l for the jth longitudinal sub-segment v Checking the longitudinal paths, and reserving the longitudinal path of the jth longitudinal sub-section passing the checking;
according to the longitudinal path of the jth longitudinal subsection passing the verification, the 2l is processed ij The strip is screened along the transverse path, retaining ij Or 2l ij And (6) selecting a path to be selected.
4. The polar code decoding method according to any one of claims 1 to 3, wherein the performing horizontal sub-segment processing on the multiple paths to be selected to obtain multiple alternative paths includes:
respectively carrying out horizontal subsection processing on a plurality of paths to be selected through m subsection decoders, wherein the ith subsection decoder is connected with the I-th subsection decoder ij Or 2l ij Reserving the path metric value with maximum l in the candidate path hij Alternative path of strip, # when ij Or 2l ij When less than L, L hij Is equal to l ij Or equal to 2l ij When l is ij Or 2l ij When L is greater than or equal to L, L hij Equal to L, i =1,2,3, …, m; j =1,2,3, …, n; l is used for indicating the number threshold of the alternative paths, and is a positive integer;
the ith subsection decoder has a length of l hij On the basis of alternative paths, toCarrying out occurrence probability calculation and path splitting on a decoding bit value on the j +1 th bit of the i transverse subsegments, wherein the transverse subsegments are transverse paths with the length of n;
when the occurrence probability calculation and the path splitting of the decoding bit value are carried out on the nth bit in the ith transverse subsection, a plurality of alternative paths with the length of n are obtained, and the path splitting is finished;
the checking the multiple candidate paths to obtain a decoding path includes:
respectively checking a plurality of alternative paths with the length of n of the m subsegment decoders, and respectively taking the alternative path which passes the checking and has the maximum path metric value in the m subsegment decoders as the decoding path; and if no alternative path passes the verification in any sub-section decoder, taking the alternative path with the maximum path metric value in any sub-section decoder as the decoding path.
5. The method for decoding the polar code according to claim 4, wherein the obtaining a decoding result of the polar code to be decoded according to the decoding path comprises:
performing sub-segment conversion on m decoding paths of the m sub-segment decoders to obtain m target decoding paths with the length of n;
and forming a target decoding path with the length of N by the m target decoding paths, and obtaining a decoding result of the polar code to be decoded after position replacement.
6. The polar code decoding method according to claim 3, wherein the 2l longitudinal subsegments are decoded according to the longitudinal path of the jth longitudinal subsegment passing the check ij Screening the transverse path of the strip, reserving l ij Or 2l ij A candidate path comprising:
if the ith bit value is 0 in the checked longitudinal path of the jth longitudinal sub-section, 2l ij Reserving only l with bit value 0 in a horizontal path ij Selecting a path to be selected;
if the checked jth longitudinal subsection passes the ith ratioWhen all the bits are 1, 2l ij Keeping only 1 with bit value 1 in the stripe horizontal path ij Selecting a path to be selected;
if the ith bit value is 0 or 1 in the checked longitudinal path of the jth longitudinal sub-section, 2l ij 2l with bit value of 0 or 1 reserved in a horizontal path ij And (6) selecting a path to be selected.
7. The polar code decoding method according to claim 3, wherein L of said j longitudinal sub-segment v The method for verifying the longitudinal path and reserving the longitudinal path of the jth longitudinal sub-section passing the verification comprises the following steps:
l for the jth longitudinal sub-segment v And performing parity check or cyclic redundancy check on the strip longitudinal path, and reserving the longitudinal path of the jth longitudinal sub-section passing the check.
8. The polar-code decoding method according to claim 5, wherein the sub-segments are transformed into XOR operations for the m decoding paths.
9. The polar code decoding method according to claim 3, further comprising:
l for the jth longitudinal sub-segment v And checking the longitudinal paths, and stopping decoding when all the longitudinal paths do not pass the check.
10. A polar code decoding apparatus, comprising:
the device comprises a to-be-decoded polarization code column acquisition module, a to-be-decoded polarization code decoding module and a decoding module, wherein the to-be-decoded polarization code column acquisition module is used for acquiring a to-be-decoded polarization code with the length of N, and dividing the to-be-decoded polarization code into m to-be-decoded subsegments with the length of N, and N, m and N are integral powers of 2;
the transverse path determining module is used for respectively carrying out probability calculation and path splitting on the decoding bit values of the serial elimination list SCL decoding on the m subsections to be decoded through the m subsection decoders to obtain split transverse paths;
the longitudinal sub-section processing module is used for performing longitudinal sub-section processing on the transverse paths to obtain a plurality of paths to be selected;
the transverse sub-section processing module is used for carrying out transverse sub-section processing on the multiple paths to be selected to obtain multiple alternative paths;
the checking module is used for checking the multiple alternative paths to obtain a decoding path;
and the decoding result determining module is used for obtaining the decoding result of the polarization code to be decoded according to the decoding path.
11. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the polar code decoding method of any one of claims 1 to 9 via execution of the executable instructions.
12. A computer-readable storage medium, on which a computer program is stored, which computer program, when being executed by a processor, is adapted to carry out the polar code decoding method according to any one of claims 1 to 9.
CN202210771615.9A 2022-06-30 2022-06-30 Polar code decoding method and device, electronic equipment and storage medium Pending CN115149966A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210771615.9A CN115149966A (en) 2022-06-30 2022-06-30 Polar code decoding method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210771615.9A CN115149966A (en) 2022-06-30 2022-06-30 Polar code decoding method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN115149966A true CN115149966A (en) 2022-10-04

Family

ID=83409654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210771615.9A Pending CN115149966A (en) 2022-06-30 2022-06-30 Polar code decoding method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115149966A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115987454A (en) * 2022-12-20 2023-04-18 中国电信股份有限公司 Demodulation decoding method, demodulation decoding device, storage medium and electronic equipment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115987454A (en) * 2022-12-20 2023-04-18 中国电信股份有限公司 Demodulation decoding method, demodulation decoding device, storage medium and electronic equipment

Similar Documents

Publication Publication Date Title
US11728829B2 (en) Error detection in communication systems using polar coded data transmission
US9504042B2 (en) System and method for encoding and decoding of data with channel polarization mechanism
US11990921B2 (en) List decoding of polarization-adjusted convolutional codes
CN108282259B (en) Coding method and device
US11847019B2 (en) Polar code construction method and apparatus
KR20230079159A (en) Serial concatenated code with outer block code and inner polarization-adjusted convolutional code
CN108574494B (en) Coding and decoding method and device
CN110391872A (en) The coding and decoding method and device of polarization code
KR20060032464A (en) Efficient decoding method and apparatus of low density parity code
US10892783B2 (en) Apparatus and method for decoding polar codes
CN114073024B (en) Convolutional precoding and decoding of polar codes
CN115149966A (en) Polar code decoding method and device, electronic equipment and storage medium
CN111130567B (en) Polarization code belief propagation list decoding method added with noise disturbance and bit inversion
US20200076451A1 (en) Generalized Polar Codes
KR101856417B1 (en) Method and Apparatus for Parallel Successive-Cancellation Polar Encoding-Decoding Using Polar-CRC Concatenated Codes
US11171673B2 (en) Decoding method and apparatus
CN115987454A (en) Demodulation decoding method, demodulation decoding device, storage medium and electronic equipment
CN114844511A (en) Polar code decoding method and device, storage medium and electronic equipment
US20230058149A1 (en) Encoding method and apparatus, decoding method and apparatus, and device
CN114362763A (en) Joint decoding method and device, storage medium and electronic equipment
WO2018146554A1 (en) Method and device for distributed error detection with polar codes
CN110830166B (en) Joint detection decoding method and device, computer equipment and storage medium
US8756476B2 (en) Method and apparatus for decoding low-density parity-check codes
CN115347982B (en) Decoding method and device, storage medium and electronic equipment
CN109412610B (en) Encoding method, decoding method, encoding device and decoding device

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