Puncturing of polar codes with complementary sequences
11012102 · 2021-05-18
Assignee
Inventors
Cpc classification
H03M13/6368
ELECTRICITY
International classification
H03M13/00
ELECTRICITY
Abstract
Systems and methods are disclosed herein for puncturing Polar-encoded bits. In some embodiments, a method of operation of a radio node that utilizes a Polar encoder comprising performing Polar encoding of a plurality of bits to provide a plurality of Polar-encoded code bits and puncturing the plurality of Polar-encoded code bits using a hybrid puncturing scheme to provide a plurality of rate-matched Polar-encoded code bits, wherein the hybrid puncturing scheme uses different puncturing patterns for different code rate regions.
Claims
1. A method of operation of a radio node that utilizes a Polar encoder, comprising: performing Polar encoding of a plurality of bits to provide a plurality of Polar-encoded code bits; and puncturing the plurality of Polar-encoded code bits using a hybrid puncturing scheme to provide a plurality of rate-matched Polar-encoded code bits, wherein the hybrid puncturing scheme uses different puncturing patterns for different code rate regions.
2. The method of claim 1 wherein the different puncturing patterns are mutually complementary puncturing patterns.
3. The method of claim 2 wherein puncturing the plurality of Polar-encoded code bits using the hybrid puncturing scheme to provide the plurality of rate-matched Polar-encoded code bits comprises: re-ordering the plurality of Polar-encoded code bits to provide a plurality of re-ordered Polar-encoded code bits; storing the plurality of re-ordered Polar-encoded code bits in a circular buffer or linear buffer; and extracting the plurality of rate-matched Polar-encoded code bits from the circular buffer or the linear buffer in accordance with one of the different puncturing patterns for one of the different code regions that comprises a desired code rate for the plurality of rate-matched Polar-encoded code bits.
4. The method of claim 3 wherein: the different puncturing patterns comprise a first puncturing pattern for a first code rate region and a second puncturing pattern for a second code rate region, wherein the first puncturing pattern and the second puncturing pattern are mutually complementary puncturing patterns; the plurality of Polar-encoded code bits comprises N bits; and extracting the plurality of rate-matched Polar-encoded code bits from the circular buffer or the linear buffer comprises: extracting a first M bits from the circular buffer or the linear buffer if the desired code rate for the plurality of rate-matched Polar-encoded code bits is in the first code rate region; and extracting M bits from the circular buffer or the linear buffer starting at an (N-M)-th bit of the circular buffer or the linear buffer if the desired code rate for the plurality of rate-matched Polar-encoded code bits is in the second code rate region; wherein M<N.
5. The method of claim 1 wherein the hybrid puncturing scheme uses a first puncturing scheme having a first puncturing pattern for a first code rate region and uses a second puncturing scheme having a second puncturing pattern for a second code rate region, the first puncturing pattern and the second puncturing pattern being mutually complementary puncturing patterns.
6. The method of claim 5 wherein puncturing the plurality of Polar-encoded code bits using the hybrid puncturing scheme to provide the plurality of rate-matched Polar-encoded code bits comprises: re-ordering the plurality of Polar-encoded code bits to provide a plurality of re-ordered Polar-encoded code bits; storing the plurality of re-ordered Polar-encoded code bits in a circular buffer or linear buffer; and extracting the plurality of rate-matched Polar-encoded code bits from the circular buffer or the linear buffer in accordance with the first puncturing pattern for the first puncturing scheme if a desired code rate for the plurality of rate-matched Polar-encoded code bits is within the first code rate region or in accordance with the second puncturing pattern for the second puncturing scheme if the desired code rate for the plurality of rate-matched Polar-encoded code bits is within the second code rate region.
7. The method of claim 5 wherein: the different puncturing patterns comprise the first puncturing pattern for the first code rate region and the second puncturing pattern for the second code rate region, wherein the first puncturing pattern and the second puncturing pattern are mutually complementary puncturing patterns; the plurality of Polar-encoded code bits comprises N bits; and puncturing the plurality of Polar-encoded code bits using the hybrid puncturing scheme to provide the plurality of rate-matched Polar-encoded code bits comprises: re-ordering the plurality of Polar-encoded code bits to provide a plurality of re-ordered Polar-encoded code bits; storing the plurality of re-ordered Polar-encoded code bits in a circular buffer or linear buffer; extracting a first M bits from the circular buffer or the linear buffer as the plurality of rate-matched Polar-encoded code bits in accordance with the first puncturing pattern for the first puncturing scheme if a desired code rate for the plurality of rate-matched Polar-encoded code bits is within the first code rate region; and extracting M bits from the circular buffer or the linear buffer starting at an (N-M)-th bit of the circular buffer or the linear buffer as the plurality of rate-matched Polar-encoded code bits in accordance with the second puncturing pattern for the second puncturing scheme if the desired code rate for the plurality of rate-matched Polar-encoded code bits is within the second code rate region; wherein M<N.
8. The method of claim 1 further comprising transmitting the plurality of rate-matched Polar-encoded code bits.
9. A method of operation of a radio node that utilizes a Polar encoder, comprising: performing Polar encoding of a plurality of bits to provide a plurality of Polar-encoded code bits; re-ordering the plurality of Polar-encoded code bits to provide a plurality of re-ordered Polar-encoded code bits; storing the plurality of re-ordered Polar-encoded code bits in a circular buffer or linear buffer; extracting a first M bits from the circular buffer or the linear buffer as a plurality of rate-matched Polar-encoded code bits if a desired code rate for the plurality of rate-matched Polar-encoded code bits is within a first code rate region; and extracting M bits from the circular buffer or the linear buffer starting at an (N-M)-th bit of the circular buffer or the linear buffer as the plurality of rate-matched Polar-encoded code bits if the desired code rate for the plurality of rate-matched Polar-encoded code bits is within the second code rate region; wherein M<N.
10. The method of claim 9 wherein: re-ordering the plurality of Polar-encoded code bits comprises re-ordering the plurality of Polar-encoded code bits in accordance with an ordered sequence that characterizes a first nested sequence of puncturing patterns for the first code rate region; wherein the first nested sequence of puncturing patterns for the first code rate region and a second nested sequence of puncturing patterns for the second code rate region are mutually complementary.
11. A radio node, comprising: a Polar encoder operable to perform Polar encoding of a plurality of bits to provide a plurality of Polar-encoded code bits; and circuitry associated with the Polar encoder that is operable to puncture the plurality of Polar-encoded code bits using a hybrid puncturing scheme to provide a plurality of rate-matched Polar-encoded code bits, wherein the hybrid puncturing scheme uses different puncturing patterns for different code rate regions.
12. A radio node, comprising: a Polar encoder operable to perform Polar encoding of a plurality of bits to provide a plurality of Polar-encoded code bits; and circuitry associated with the Polar encoder that is operable to: re-order the plurality of Polar-encoded code bits to provide a plurality of re-ordered Polar-encoded code bits; store the plurality of re-ordered Polar-encoded code bits in a circular buffer or linear buffer; extract a first M bits from the circular buffer or the linear buffer as a plurality of rate-matched Polar-encoded code bits if a desired code rate for the plurality of rate-matched Polar-encoded code bits is within a first code rate region; and extract M bits from the circular buffer or the linear buffer starting at an (N-M)-th bit of the circular buffer or the linear buffer as the plurality of rate-matched Polar-encoded code bits if the desired code rate for the plurality of rate-matched Polar-encoded code bits is within the second code rate region; wherein M<N.
13. The radio node of claim 12 wherein the circuitry is further adapted to re-order the plurality of Polar-encoded code bits in accordance with an ordered sequence that characterizes a first nested sequence of puncturing patterns for the first code rate region; wherein the first nested sequence of puncturing patterns for the first code rate region and a second nested sequence of puncturing patterns for the second code rate region are mutually complementary.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description serve to explain the principles of the disclosure.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DETAILED DESCRIPTION
(11) The embodiments set forth below represent information to enable those skilled in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure.
(12) Radio Node: As used herein, a “radio node” is either a radio access node or a wireless device.
(13) Radio Access Node: As used herein, a “radio access node” or “radio network node” is any node in a radio access network of a cellular communications network that operates to wirelessly transmit and/or receive signals. Some examples of a radio access node include, but are not limited to, a base station (e.g., a New Radio (NR) base station (gNB) in a Third Generation Partnership Project (3GPP) Fifth Generation (5G) NR network or an enhanced or evolved Node B (eNB) in a 3GPP Long Term Evolution (LTE) network), a high-power or macro base station, a low-power base station (e.g., a micro base station, a pico base station, a home eNB, or the like), and a relay node.
(14) Core Network Node: As used herein, a “core network node” is any type of node in a core network. Some examples of a core network node include, e.g., a Mobility Management Entity (MME), a Packet Data Network Gateway (P-GW), a Service Capability Exposure Function (SCEF), or the like.
(15) Wireless Device: As used herein, a “wireless device” is any type of device that has access to (i.e., is served by) a cellular communications network by wirelessly transmitting and/or receiving signals to a radio access node(s). Some examples of a wireless device include, but are not limited to, a User Equipment device (UE) in a 3GPP network and a Machine Type Communication (MTC) device.
(16) Network Node: As used herein, a “network node” is any node that is either part of the radio access network or the core network of a cellular communications network/system.
(17) Note that the description given herein focuses on a 3GPP cellular communications system and, as such, 3GPP terminology or terminology similar to 3GPP terminology is oftentimes used. However, the concepts disclosed herein are not limited to a 3GPP system.
(18) Note that, in the description herein, reference may be made to the term “cell;” however, particularly with respect to 5G NR concepts, beams may be used instead of cells and, as such, it is important to note that the concepts described herein are equally applicable to both cells and beams.
(19) Embodiments of the present disclosure relate to the use of a pair of mutually complementary sequences of puncturing patterns to determine the locations of punctured Polar-encoded bits (i.e., code bits). One of the sequences is used for one code rate region (e.g., low-rate region), while the other sequence is used for another code rate region (e.g., high-rate region). The determination of which sequence of puncturing patterns to use may be based on a predetermined threshold on code rate. The main advantage of using a pair of complementary sequences is that both sequences can be described and thus stored by a single ordered code bit index sequence that specifies the index of code bit at a given relative ranking. Further, the single ordered code bit index sequence facilitates an implementation of rate matching based on circular or linear buffer.
(20) A key advantage of the present disclosure is that only a single sequence of ordered index needs to be stored for the rate-matching process. As a result, the coded bits may be first permuted according to the single index sequence of code bits before being written into a circular or linear buffer. The starting and ending addresses in the circular/linear buffer, as well as the direction of extraction, may be determined based on which sequence of puncturing patterns is used in order to extract the code bits from the buffer.
Nested Information Sets
(21) In order to encode a block of K data bits, the encoder of a Polar code of length N must first determine the information set A.sub.K.sup.N(that specifies when bit-channels are frozen and which bit-channels are used to carry the data bits at the input of the encoder. For Additive White Gaussian Channels (AWGN), the sequence of information sets {A.sub.K.sup.N:K=0,1, . . . ,N} is nested for different values of K in the sense that A.sub.0.sup.N⊂A.sub.1.sup.N⊂A.sub.2.sup.N⊂ . . . A.sub.N.sup.N. Such a nested sequence of information sets can be characterized by an ordered bit-channel index sequence Q: {1,2, . . . ,N}.fwdarw.{1,2, . . . ,N}, which specifies the index of the bit-channel of a given rank such that Q(i) denotes the index of the ith highest ranked bit-channel. The ranking of different bit-channels may be determined by their relative reliabilities, as measured by bit-error probability for example, in carrying a data bit. Such an ordered bit-channel may be predetermined and stored at both the Polar encoder and the Polar decoder. Such a sequence may also be equivalently represented (and stored) by an ordered bit-channel ranking sequence Q.sup.−1 : {1,2, . . . ,N}.fwdarw.{1,2, . . . ,N} that provides the rank of the bit-channel of a given index. The ordered bit-channel ranking sequence is the inverse of the ordered bit-channel index sequence in the sense that Q.sup.−1(Q(i))=i and Q(Q.sup.−1(i))=i.
Nested Puncturing
(22) In order to attain a target block length M that is not a power of two, the output of the encoder of a Polar code of length N.sup.┌log.sup.
Nested Puncturing Property: B.sub.P.sup.N⊂B.sub.q.sup.N whenever p≤q.
(23) The nested puncturing property implies that B.sub.0.sup.N⊂B.sub.1.sup.N⊂B.sub.2.sup.N⊂ . . . B.sub.N.sup.NThis nested puncturing property mirrors the nested information-set property used to derive the information bit locations for different code rates at the encoder input. A collection of puncturing patterns {B.sub.p.sup.N} that satisfy this property is referred to herein as a sequence of nested puncturing patterns. Only puncturing methods that generate a nested sequence of puncturing patterns {B.sub.p.sup.N:p=0,1, . . . ,N} are considered since a nested sequence of punctured patterns is suitable for implementation in a circular or linear buffer, as will be further illustrated later. Such a nested sequence of puncturing patterns can be characterized by an ordered code bit index sequence Z: {1,2, . . . ,N}.fwdarw.{1,2, . . . ,N}, which specifies the index of the code bit of a given rank such that Z(i) denotes the index of ith lowest ranked code bit. For example, the punctured pattern may be related to the ordered code bit index sequence simply by B.sub.p.sup.N={Z(i): i=1,2, . . . ,p}, but other ways of relating them are also possible. Such a sequence may also be equivalently represented (and stored) by an ordered code bit ranking sequence Z.sup.−1: {1,2, . . . ,N}.fwdarw.{1,2, . . . ,N} that provides the rank of the code bit of a given index. The ordered code bit ranking sequence is the inverse of the ordered code bit index sequence in the sense that Z.sup.−1(Z(i)) =i and Z(Z.sup.−1(i))=i.
(24) Similar to the nested information-set sequence, to store a sequence of nested puncturing patterns, one only needs to store an ordered code bit index sequence Z: {1,2, . . . ,N} {1,2, . . . ,N}, such that Z(p)ϵB.sub.p.sup.N\B.sub.p−1.sup.N (which contains only one element and thus uniquely defines the value of Z(p)) with B.sub.0.sup.N being an empty set and B.sub.N.sup.N={0,1,2, . . . ,N−1}. Most of the existing puncturing schemes (or sequence of puncturing patterns) for Polar codes satisfy the nested puncturing property.
Types of Nested Puncturing
(25) Among the puncturing schemes that satisfy the nested puncturing property, we further focus on two types: Type I: Puncturing from Start—Begin puncturing from index 0, i.e. B.sub.1.sup.N={0} Type II: Puncturing from End—Begin puncturing from index N−1, i.e. B.sub.1.sup.N={N−1}
(26) As illustrated below, only these two types of puncturing schemes can exhibit symmetry between punctured indices at the output and those at the input of the encoder. As demonstrated later, Type I puncturing typically performs better at low code rates while Type II often performs better at high code rates.
(27) One aspect of embodiments of the present disclosure is to use a hybrid puncturing scheme where a puncturing scheme of Type I is used for one region of code rate (e.g., low code rate region), and another puncturing scheme of Type II is used for another region of code rate (e.g., high code rate region), while the puncturing patterns produced by these two puncturing schemes (one of Type I and another of Type II) are closely related and can be generated by a single ordered code bit index sequence Z(⋅), as it is further described below.
Relationship with Information Set
(28) For each puncturing pattern C.sub.p.sup.N, there is a corresponding set C.sub.p.sup.N of p bit-channel indices that should be frozen, or excluded from carry data bits, at the input of a Polar encoder in order to ensure that the resulting generator matrix has full rank and that the data bits are decodable with a Successive Cancellation (List) (SC(L)) decoder. In general, C.sub.p.sup.N may overlap with the information set A.sub.K.sup.N used to indicate the locations of the bit-channels where K data bits are carried. In this case, the information set should be adjusted to avoid selecting bit-channels with indices in C.sub.p.sup.N to carry data. For example, when an information set is chosen based on an ordered bit-channel index sequence Q(⋅), indices indicated by Q(⋅) that fall in the set C.sub.p.sup.N should be skipped when choosing the information set.
(29) In some cases, C.sub.p.sup.N can be chosen exactly equal to B.sub.p.sup.N, but it is not true in general. For convenience, a puncturing pattern B.sub.p.sup.N is referred to as reciprocal if C.sub.p.sup.N can be chosen as B.sub.p.sup.N, and a puncturing method is referred to as reciprocal if it results in a sequence of puncturing patterns {B.sub.p.sup.N} for a different number p of punctured bits such that B.sub.p.sup.N=C.sub.p.sup.N for each p=1,2, . . . ,N.
(30) The reciprocal property is desirable as only one set of ordered index sequence is needed for both input and output of the encoder in order to implement the puncturing scheme. Hence we further restrict our consideration on reciprocal, nested puncturing methods. Now we provide equivalent characterizations of reciprocal puncturing patterns of Type I and Type II, respectively.
(31) For Type I puncturing (i.e., from start), it can be shown that a necessary and sufficient condition for {B.sub.p.sup.N} to be reciprocal is that it satisfies One-covering Property: If iϵB.sub.p.sup.N and ij, then jϵB.sub.p.sup.N where i
.sub.1 j means that for every digit of ‘1’ in the binary representation of index j, the corresponding digit in the index i must also be ‘1’. Intuitively, this means that i has as least as many “1” as j does in the binary representation. For convenience of description, we refer this as i “one-covers” j. For example, the index with binary representation ‘1001’ one-covers ‘0001’, ‘1000’, and ‘0000’.
(32) Similarly, for Type II puncturing (i.e., from end), a necessary and sufficient condition for {B.sub.p.sup.N} to be reciprocal is that it satisfies Zero-covering Property: If iϵB; and i.sub.0 j, then jϵB.sub.p.sup.N where i
.sub.0 j means that for every digit of ‘0’ in the binary representation of index j, the corresponding digit in the index i must also be ‘0’. Intuitively, this means that i has at least as many “0” as j does in the binary representation. For convenience of description, we refer this as i “zero-covers” j. For example, the index with binary representation ‘1001’ one-covers ‘1101’, ‘1011’, and ‘1111’.
(33) It can be verified that most of the existing puncturing methods for Polar codes to date yield a sequence of puncturing patterns, each satisfying one of these two properties.
Complementary Puncturing Patterns
(34) Type I and Type II puncturing schemes typically come in pair. Given a sequence of puncturing patterns {B.sub.p.sup.N:p=1,2, . . . ,N} of one of the two types, a complementary sequence of puncturing patterns {
where X.sup.c denotes the complement of set X. Since the complementary puncturing pattern of a puncturing pattern
(35) If a sequence of nested puncturing patterns {B.sub.p.sup.N:p=1,2, . . . ,N} is specified by the ordered code bit index sequence Z: {1,2, . . . ,N}.fwdarw.{1,2, . . . ,N}, such that Z(p)ϵB.sub.p.sup.N\B.sub.p−1.sup.N and B.sub.p.sup.N={Z(i): i=1,2, . . . , p}, then the same ordered index sequence Z(⋅) can be used to generate the complementary puncturing patterns {
(36) According to a preferred embodiment and as an example, the puncturing scheme of Type I in a preferred hybrid puncturing scheme is chosen as
(37)
and its complement of Type II can be obtained from the above equation as
(38)
(39) In other words, this scheme of either Type I or Type II splits the punctured bit indices in the middle two quarter of all indices, but different types start puncturing from different directions.
Circular/Linear Buffer Implementation
(40) Nested puncturing patterns are suitable for circular or linear buffer implementation. A block of N=2.sup.┌log.sup.
(41) For example,
(42) In the case when a single puncturing method (Type I and/or Type II) is employed, the bit-reordering block is based on the same sequence {Z(p)} and need not be changed, which is desirable. The use of a single puncturing method (or ordered index sequence {Z(p))}) still allows both Type I and Type II variants of the method to be used for different code rate regions in order to exploit their relative strengths.
(43) The extraction process from the circular or linear buffer can be specified by the starting and ending locations in the circular buffer, as illustrated in
(44) Alternatively, the direction of extracting code bits from the circular buffer may depend on the type of puncturing employed. For example, in
(45) Embodiments of the present disclosure provide a hybrid puncturing scheme where a puncturing scheme of Type I is used for one region of code rate (e.g., low code rate region) and another puncturing scheme of Type II is used for another region of code rate (e.g., high code rate region), while these puncturing patterns are chosen to be mutually complementary. This allows an efficient implementation of the overall puncturing process via circular or linear buffer.
Example System and Operation Thereof
(46)
(47)
(48) In some embodiments, the hybrid puncturing scheme uses a Type I puncturing scheme having a first puncturing pattern for a first code rate region and uses a Type II puncturing scheme having a second puncturing pattern for a second code rate region, the first puncturing pattern and the second puncturing pattern being mutually complementary puncturing patterns. Further, in some embodiments, extracting the plurality of rate-matched Polar-encoded code bits from the circular buffer or the linear buffer in accordance with the first puncturing pattern for the Type I puncturing scheme if a desired code rate for the plurality of rate-matched Polar-encoded code bits is within the first code rate region or in accordance with the second puncturing pattern for the Type II puncturing scheme if the desired code rate for the plurality of rate-matched Polar-encoded code bits is within the second code rate region.
(49) In some embodiments, the radio node transmits the rate-matched Polar-encoded code bits (step 104). Note that optional steps are indicated by dashed lines.
(50)
(51) In some embodiments, a computer program including instructions which, when executed by the at least one processor 22, causes the at least one processor 22 to carry out at least some of the functionality of the wireless device 12 according to any of the embodiments described herein is provided. In some embodiments, a carrier containing the aforementioned computer program product is provided. The carrier is one of an electronic signal, an optical signal, a radio signal, or a computer readable storage medium (e.g., a non-transitory computer readable medium such as memory).
(52)
(53)
(54)
(55) In this example, functions 64 of the network node 36 (e.g., the functions of the radio access node 14) described herein are implemented at the one or more processing nodes 54 or distributed across the control system 38 (if present) and the one or more processing nodes 54 in any desired manner. In some particular embodiments, some or all of the functions 64 of the network node 36 described herein are implemented as virtual components executed by one or more virtual machines implemented in a virtual environment(s) hosted by the processing node(s) 54. As will be appreciated by one of ordinary skill in the art, additional signaling or communication between the processing node(s) 54 and the control system 38 (if present) or alternatively the radio unit(s) 46 (if present) is used in order to carry out at least some of the desired functions. Notably, in some embodiments, the control system 38 may not be included, in which case the radio unit(s) 46 (if present) communicates directly with the processing node(s) 54 via an appropriate network interface(s).
(56) In some particular embodiments, higher layer functionality (e.g., layer 3 and up and possibly some of layer 2 of the protocol stack) of the network node 36 may be implemented at the processing node(s) 54 as virtual components (i.e., implemented “in the cloud”) whereas lower layer functionality (e.g., layer 1 and possibly some of layer 2 of the protocol stack) may be implemented in the radio unit(s) 46 and possibly the control system 38.
(57) In some embodiments, a computer program including instructions which, when executed by the at least one processor 40, 58, causes the at least one processor 40, 58 to carry out the functionality of the network node 36 or a processing node 54 according to any of the embodiments described herein is provided. In some embodiments, a carrier containing the aforementioned computer program product is provided. The carrier is one of an electronic signal, an optical signal, a radio signal, or a computer readable storage medium (e.g., a non-transitory computer readable medium such as the memory 60).
(58)
EXAMPLE EMBODIMENTS
(59) While not being limited thereto, some example embodiments of the present disclosure are provided below.
Embodiment 1
(60) A method of determining the set of punctured code bit indices (at the output of a Polar encoder) using different puncturing patterns at different code rate regions.
Embodiment 2
(61) A method of embodiment 1 where the different puncturing patterns are derived from two sequences of mutually complementary puncturing patterns.
Embodiment 3
(62) A method of embodiment 2 where both sequences of mutually complementary puncturing patterns split the punctured bit indices in the middle two quarter of all indices but in different directions.
Embodiment 4
(63) A method of operation of an apparatus (e.g., a radio node) that utilizes a Polar encoder, comprising: performing Polar encoding of a plurality of bits to provide a plurality of Polar-encoded code bits; and puncturing the plurality of Polar-encoded code bits using a hybrid puncturing scheme to provide a plurality of rate-matched Polar-encoded code bits, wherein the hybrid puncturing scheme uses different puncturing patterns for different code rate regions.
Embodiment 5
(64) The method of embodiment 4 wherein the different puncturing patterns are mutually complementary puncturing patterns.
Embodiment 6
(65) The method of embodiment 5 wherein puncturing the plurality of Polar-encoded code bits using the hybrid puncturing scheme to provide the plurality of rate-matched Polar-encoded code bits comprises: reordering the plurality of Polar-encoded code bits to provide a plurality of re-ordered Polar-encoded code bits; storing the plurality of re-ordered Polar-encoded code bits in a circular buffer or linear buffer; and extracting the plurality of rate-matched Polar-encoded code bits from the circular buffer or the linear buffer in accordance with one of the different puncturing patterns for one of the different code regions that comprises a desired code rate for the plurality of rate-matched Polar-encoded code bits.
Embodiment 7
(66) The method of embodiment 4 wherein the hybrid puncturing scheme uses a Type I puncturing scheme having a first puncturing pattern for a first code rate region and uses a Type II puncturing scheme having a second puncturing pattern for a second code rate region, the first puncturing pattern and the second puncturing pattern being mutually complementary puncturing patterns.
Embodiment 8
(67) The method of embodiment 7 wherein puncturing the plurality of Polar-encoded code bits using the hybrid puncturing scheme to provide the plurality of rate-matched Polar-encoded code bits comprises: re-ordering the plurality of Polar-encoded code bits to provide a plurality of re-ordered Polar-encoded code bits; storing the plurality of re-ordered Polar-encoded code bits in a circular buffer or linear buffer; and extracting the plurality of rate-matched Polar-encoded code bits from the circular buffer or the linear buffer in accordance with the first puncturing pattern for the Type I puncturing scheme if a desired code rate for the plurality of rate-matched Polar-encoded code bits is within the first code rate region or in accordance with the second puncturing pattern for the Type II puncturing scheme if the desired code rate for the plurality of rate-matched Polar-encoded code bits is within the second code rate region.
Embodiment 9
(68) The method of any one of embodiments 4 to 8 further comprising transmitting the plurality of rate-matched Polar-encoded code bits.
Embodiment 10
(69) An apparatus (e.g., a radio node) that utilizes a Polar encoder, the apparatus adapted to perform the method of any one of embodiments 1 to 9.
Embodiment 11
(70) An apparatus (e.g., a radio node), comprising: a Polar encoder; and circuitry associated with the Polar encoder that, together with the Polar encoder, is operable to perform the method of any one of embodiments 1 to 9.
Embodiment 12
(71) An apparatus (e.g., a radio node) comprising one or more modules operable to perform the method of any one of embodiments 1 to 9.
(72) At least some of the following abbreviations may be used in this disclosure. If there is an inconsistency between abbreviations, preference should be given to how it is used above. If listed multiple times below, the first listing should be preferred over any subsequent listing(s). 3GPP Third Generation Partnership Project 5G Fifth Generation ASIC Application Specific Integrated Circuit AWGN Additive White Gaussian Channels BL/CE Bandwidth reduced Low complexity CE Coverage Enhanced CPU Central Processing Unit CRC Cyclic Redundancy Check DSP Digital Signal Processor eNB Enhanced or Evolved Node B FPGA Field Programmable Gate Array gNB New Radio Base Station LDPC Low-Density Parity-Check LTE Long Term Evolution LTE-A Long Term Evolution Advanced ML Maximum-Likelihood MME Mobility Management Entity MTC Machine Type Communication NR New Radio P-GW Packet Data Network Gateway SC Successive Cancellation SCEF Service Capability Exposure Function SCL Successive Cancellation List UE User Equipment
(73) Those skilled in the art will recognize improvements and modifications to the embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein.
LIST OF REFERENCES
(74) [1] E. Arikan, “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels,” IEEE Transactions on Information Theory, vol. 55, pp. 3051-3073, July 2009. [2] I. Tal and A. Vardy, “List Decoding of polar codes,” in Proceedings of IEEE Symp. Inf. Theory, pp. 1-5, 2011. [3] Leroux, et. al., “A Semi-Parallel Successive-Cancellation Decoder for Polar Codes,” IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 61, NO. 2, Jan. 15, 2013. [4] L. Zhang, et. Al. “On the Puncturing Patterns for Punctured Polar Codes, Proceeding of 2014 IEEE ISIT, pp. 121-125, 2014. [5] R. Wang and R. Liu, “A Novel Puncturing Scheme for Polar Codes,” IEEE Communication Letters vol. 18, No. 12, December 2014.