METHODS AND APPARATUS FOR ERROR CORRECTION CODING INTEGRATED WITH TRANSMISSION DIVERSITY
20250317239 ยท 2025-10-09
Inventors
Cpc classification
H03M13/25
ELECTRICITY
H04B7/02
ELECTRICITY
H03M13/451
ELECTRICITY
H04L5/0091
ELECTRICITY
International classification
Abstract
The disclosure relates to a 5G or 6G communication system for supporting a higher data transmission rate. The present disclosure discloses a method and an apparatus for error correction coding in a communication system, more specifically, to error correction coding integrated with transmission diversity.
Claims
1. A transmitter apparatus in a communication system, the transmitter apparatus comprising: memory storing instructions; and processing circuitry coupled to the memory and configured, based at least partially on the instructions, to cause the transmitter apparatus to: identify a data word d from a source, identify a plurality of encoder output subwords x.sub.1, x.sub.2, . . . , x.sub.r from the data word d based on an encoder input mapping relation and a plurality of encoding functions, wherein r is greater than one, identify a plurality of channel input subwords v.sub.1, v.sub.2, . . . , v.sub.s from the plurality of encoder output subwords x.sub.1, x.sub.2, . . . , x.sub.r based on a diversity transform and a subchannel assignment relation, transmit the plurality of channel input subwords v.sub.1, v.sub.2, . . . , v.sub.s over a channel, wherein the channel comprises a plurality of subchannels, wherein s is related to a number of subchannels and s is greater than one.
2. The transmitter apparatus of claim 1, wherein the plurality of encoding functions comprises a plurality of encoding matrices G.sup.(1), G.sup.(2), . . . , G.sup.(r) and the processing circuitry is further configured, based at least partially on the instructions, to cause the transmitter apparatus to: identify a plurality of encoder input subwords u.sub.1, u.sub.2, . . . , u.sub.r from the data word d based on the encoder input mapping relation, and identify the plurality of encoder output subwords x.sub.1, x.sub.2, . . . , x.sub.r from the plurality of encoder input subwords u.sub.1, u.sub.2, . . . , u.sub.r by computing
3. The transmitter apparatus of claim 1, wherein the diversity transform comprises a diversity transform matrix G.sub.DIV and the processing circuitry is further configured, based at least partially on the instructions, to cause the transmitter apparatus to: identify a plurality of diversity transform output subwords z.sub.1, z.sub.2, . . . , z.sub.t from the plurality of encoder output subwords x.sub.1, x.sub.2, . . . , x.sub.r by computing
4. The transmitter apparatus of claim 2, wherein the encoder input mapping relation comprises setting (u.sub.i).sub.D.sub.B
_i| for each 1ir, wherein K is a number of elements of the data word d, wherein K2.
5. The transmitter apparatus of claim 4, wherein G.sup.(i) is a polar transform matrix and D.sub.i is chosen based on a polar code design relation, wherein the polar code design relation comprises a ranking of reliabilities of the elements of u.sub.i, wherein 1ir.
6. The transmitter apparatus of claim 3, wherein G.sub.DIV is a rt matrix over GF(2) obtained from a matrix G over a GF(2.sup.m) by replacing each entry g.sub.i,j GF(2.sup.m) of G with (g.sub.i,j), where is representation of GF(2.sup.m) using mm matrices over GF(2), wherein m is greater than two.
7. The transmitter apparatus of claim 3, wherein the subchannel assignment relation comprises a subchannel assignment partition, wherein the subchannel assignment partition is a non-trivial partition (A
.sub.1, A.sub.2, . . . , A.sub.s) of {1, 2, . . . , t}, wherein an ith diversity transform output subword z.sub.i is assigned to the jth channel input subword v.sub.j in case that i belongs to A.sub.j, for each 1it and 1js.
8. The transmitter apparatus of claim 3, wherein the diversity transform matrix G.sub.DIV and a family of diversity transform output erasure scenarios ={E_1, E_2, . . . , E_m} satisfy a full-rank criterion such that a matrix G.sub.DIV(E.sup.c) is a full-rank matrix for each E, wherein is related to a family of subchannel erasure scenarios , wherein each element of
comprises an outage event involving at least one subchannel among the plurality of subchannels.
9. A method performed by a transmitter apparatus in a communication system, the method comprising: an encoding step, wherein the encoding step comprises: identifying a data word d from a source; and identifying a plurality of encoder output subwords x.sub.1, x.sub.2, . . . , x.sub.r from the data word d based on an encoder input mapping relation and a plurality of encoding functions, wherein r is greater than one; and a diversity mapping step, wherein the diversity mapping step comprises: identifying a plurality of channel input subwords v.sub.1, v.sub.2, . . . , v.sub.s from the plurality of encoder output subwords x.sub.1, x.sub.2, . . . , x.sub.r based on a diversity transform and a subchannel assignment relation; and transmitting the plurality of channel input subwords v.sub.1, v.sub.2, . . . , v.sub.s over a channel, wherein the channel comprises a plurality of subchannels, wherein s is related to a number of subchannels and s is greater than one.
10. The method of claim 9, wherein the plurality of encoding functions comprises a plurality of encoding matrices G.sup.(1), G.sup.(2), . . . , G.sup.(r) and the encoding step further comprises: identifying a plurality of encoder input subwords u.sub.1, u.sub.2, . . . , u.sub.r from the data word d based on the encoder input mapping relation, and identifying the plurality of encoder output subwords x.sub.1, x.sub.2, . . . , x.sub.r from the plurality of encoder input subwords u.sub.1, u.sub.2, . . . , u.sub.r by computing
11. The method of claim 9, wherein the diversity transform comprises a diversity transform matrix G.sub.DIV and the method further comprises: identifying a plurality of diversity transform output subwords z.sub.1, z.sub.2, . . . , z.sub.t from the plurality of encoder output subwords x.sub.1, x.sub.2, . . . , x.sub.r by computing
12. The method of claim 10, wherein the encoder input mapping relation comprises setting (u.sub.i).sub.D.sub.B
_i| for each 1ir, wherein K is a number of elements of the data word d, wherein K2.
13. The method of claim 12, wherein G.sup.(i) is a polar transform matrix and D.sub.i is chosen based on a polar code design relation, wherein the polar code design relation comprises a ranking of reliabilities of the elements of u.sub.i, wherein 1ir.
14. The method of claim 11, wherein G.sub.DIV is a rt matrix over GF(2) obtained from a matrix G over a GF(2.sup.m) by replacing each entry g.sub.i,jGF(2.sup.m) of G with (g.sub.i,j), where is representation of GF(2.sup.m) using mm matrices over GF(2), wherein m is greater than two.
15. The method of claim 11, wherein the subchannel assignment relation comprises a subchannel assignment partition, wherein the subchannel assignment partition is a non-trivial partition (A
.sub.1, A.sub.2, . . . , A.sub.s) of {1, 2, . . . , t}, wherein the ith diversity transform output subword z.sub.i is
assigned to the th channel input subword v.sub.j in case that i belongs to A.sub.j, for each 1it and 1js.
16. The method of claim 11, wherein the diversity transform matrix G.sub.DIV and a family of diversity transform output erasure scenarios ={E_1, E_2, . . . , E_m} satisfy a full-rank criterion such that a matrix G.sub.DIV(E.sup.c) is a full-rank matrix for each E, wherein is related to a family of subchannel erasure scenarios , wherein each element of
comprises an outage event involving at least one subchannel among the plurality of subchannels.
17. A receiver apparatus in a communication system, the receiver apparatus comprising: memory storing instructions; and processing circuitry coupled to the memory and configured, based at least partially on the instructions, to cause the receiver apparatus to: receive a plurality of channel output subwords y.sub.1, y.sub.2, . . . , y.sub.s from a channel, wherein the channel comprises a plurality of subchannels, wherein s is related to a number of subchannels and s is greater than one, identify an ith decoder input statistic l.sub.i in an ith iteration of a receiver process, wherein the ith decoder input statistic l.sub.i is based on y.sub.1, y.sub.2, . . . , y.sub.s, any decision feedback messages in iterations prior to the ith iteration, and a diversity transform matrix G.sub.DIV, wherein G.sub.DIV is a rt matrix with t>r2, send the ith decoder input statistic l.sub.i, and obtain an ith decision feedback message; and obtain the ith decoder input statistic l.sub.i, identify an ith partial decoder decision based on the ith decoder input statistic l.sub.i, wherein the ith partial decoder decision comprises an ith decoded encoder input subword .sub.i, determine whether an ith termination condition is satisfied, in case that the ith termination condition is not satisfied, identify an ith decision feedback message and send the ith decision feedback message, wherein the ith decision feedback message is based on the ith partial decoder decision and comprises an ith decoded encoder output subword {circumflex over (x)}.sub.i, wherein {circumflex over (x)}.sub.i is obtained from the ith decoded encoder input subword .sub.i based on an ith encoding function, wherein the ith encoding function comprises an ith encoding matrix G.sup.(i) with M.sub.i rows and N columns, wherein M.sub.i is a number of elements of .sub.i, wherein N is a number of elements of {circumflex over (x)}.sub.i, wherein 1M.sub.iN, wherein N is the same for each {circumflex over (x)}.sub.i, 1ir, in case that an termination condition is satisfied, identify a decoder output and sending the decoder output to a destination, wherein the decoder output comprises a decoded data word {circumflex over (d)}, wherein {circumflex over (d)}.sub.B.sub.B
_i| for each 1ir, wherein K is a number of elements of {circumflex over (d)}, wherein K2.
18. The receiver apparatus of claim 17, wherein the diversity transform matrix G.sub.DIV and a family of diversity transform output erasure scenarios E={E_1, E_2, . . . , E_m} satisfy a full-rank criterion such that a matrix G.sub.DIV(E.sup.c) is a full-rank matrix for each E, wherein E is related to a family of subchannel erasure scenarios , wherein each element of
comprises an outage event involving at least one subchannel among the plurality of subchannels.
19. The receiver apparatus of claim 17, wherein the ith encoding function comprises a polar transform matrix and M.sub.i=N for all 1ir.
20. A method performed by a receiver apparatus in a communication system, the method comprising: receiving a plurality of channel output subwords y.sub.1, y.sub.2, . . . , y.sub.s from a channel, wherein the channel comprises a plurality of subchannels, wherein s is related to a number of subchannels and s is greater than one, and identifying an ith decoder input statistic l.sub.i in an ith iteration of a receiver process, wherein the ith decoder input statistic l.sub.i is based on y.sub.1, y.sub.2, . . . , y.sub.s, any decision feedback messages in iterations prior to the ith iteration, and a diversity transform matrix G.sub.DIV, wherein G.sub.DIV is a rt matrix with t>r2, sending the ith decoder input statistic l.sub.i, and obtaining an ith decision feedback message; and obtaining the ith decoder input statistic l.sub.i, identifying an ith partial decoder decision based on the ith decoder input statistic l.sub.i, wherein the ith partial decoder decision comprises an ith decoded encoder input subword .sub.i, determining whether an ith termination condition is satisfied, in case that the ith termination condition is not satisfied, identifying an ith decision feedback message and sending the ith decision feedback message, wherein the ith decision feedback message is based on the ith partial decoder decision and comprises an ith decoded encoder output subword {circumflex over (x)}.sub.i, wherein {circumflex over (x)}.sub.i is obtained from the ith decoded encoder input subword .sub.i based on an ith encoding function, wherein the ith encoding function comprises an ith encoding matrix G.sup.(i) with M.sub.i rows and N columns, wherein M.sub.i is a number of elements of .sub.i, wherein N is a number of elements of {circumflex over (x)}.sub.i, wherein 1M.sub.iN, wherein N is the same for each {circumflex over (x)}.sub.i, 1ir, in case that an termination condition is satisfied, identifying a decoder output and sending the decoder output to a destination, wherein the decoder output comprises a decoded data word {circumflex over (d)}, wherein {circumflex over (d)}.sub.B=(.sub.i).sub.D.sub.B
_i| for each 1ir, wherein K is a number of elements of {circumflex over (d)}, wherein K2.
21. The method of claim 20, wherein the diversity transform matrix G.sub.DIV and a family of diversity transform output erasure scenarios ={E_1, E_2, . . . , E_m} satisfy a full-rank criterion such that a matrix G.sub.DIV(E.sup.c) is a full-rank matrix for each E, wherein is related to a family of subchannel erasure scenarios , wherein each element of
comprises an outage event involving at least one subchannel among the plurality of subchannels.
22. The method of claim 20, wherein the ith encoding function comprises a polar transform matrix and M.sub.i=N for all 1ir.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0022] For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts:
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
DETAILED DESCRIPTION
[0037]
[0038] In emerging applications such as Ultra Reliable Low Latency Communications (URLLC) there exists a requirement to send relatively short messages with extreme reliability and low latency over wireless channels that are subject to fading and interference as well as additive thermal noise. Conventional methods for providing extreme reliability, such as Automatic Repeat Request (ARQ) and Hybrid-ARQ (HARQ) schemes, are not compatible with the low latency requirement. Hence, there is need for employing error correction coding methods that are integrated with transmission diversity so as to provide extreme reliability without a need for retransmissions. The present principles address this problem by integrating error correction coding with transmission diversity.
[0039] The present principles can be used provided that the channel in the system is capable of supporting transmission diversity, such as a channel comprising multiple independently fading subchannels. Given such a channel, the present principles introduce a diversity transform between error correction coding and the channel, providing simple interfaces on the code side and the channel side, so that a given diversity transform can be used with different codes and channels.
[0040] A class of codes that are especially well suited for use as part of or in combination with the present principles is polar coding, thanks to the rate- and length-compatible nature of these codes and the availability of low-complexity methods for encoding and decoding them. In one aspect, the present principles may be seen as an extension of polar coding in which a polar transform is extended by a diversity transform using the Kronecker product of the two transforms. Such multi-kernel polar code constructions have been known since the beginning of polar coding [1] and studied extensively, notably in the references [2],[3],[4],[5]. The main focus of the references [1],[2],[3],[4] has been improved performance over discrete memoryless channels. The reference [5] used mix kernels for providing flexible code lengths so that puncturing or shortening can be avoided.
[0041] Unlike references [1],[2],[3],[4],[5], the present principles are focused on shielding error correction coding (whether the coding is polar or otherwise) from extreme forms of outage events occurring in the channel. To realize this goal, the present principles introduce redundancy as part of the diversity transform, in effect using the diversity transform as an inner code that can cope with channel outage events; as a result, the present principles rely on strictly rectangular diversity transform matrices. In contrast, previous work on multi-kernel polar codes typically puts the emphasis on performance over memoryless channels, which makes it disadvantageous to use non-square kernel matrices when interfacing with the channel.
[0042] Polar coding in the context of fading channels has been studied quite extensively, as in the references [6],[7],[8],[9], which combined polar coding with various types of interleaving, signal shaping, or modulation methods to provide resilience against fading and outage. The present principles differ from this line of work by purposefully avoiding the use of an interleaver. It is well known that interleaving is a practical but suboptimal procedure for dealing with fading. Instead of interleavers, the present principles rely on algebraic constructions that are optimized for rank properties of a diversity transform under various channel outage scenarios. In preferred embodiments of the present principles, the diversity transform is derived from maximum distance separable (MDS) codes, which is a prior art technique for constructing distance-optimal error correcting codes, as described in [10].
REFERENCES
[0043] [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, no. 7, pp. 3051-3073, July 2009, doi: 10.1109/TIT.2009.2021379. [0044] [2]R. Mori and T. Tanaka, Non-binary polar codes using Reed-Solomon codes and algebraic geometry codes, in 2010 IEEE Information Theory Workshop (ITW), IEEE, August 2010, pp. 1-5. doi: 10.1109/CIG.2010.5592755. [0045] [3]N. Presman, O. Shapira, and S. Litsyn, Mixed-Kernels Constructions of Polar Codes, IEEE Journal on Selected Areas in Communications, vol. 34, no. 2, pp. 239-253, February 2016, doi: 10.1109/JSAC.2015.2504278. [0046] [4]N. Presman, O. Shapira, S. Litsyn, T. Etzion, and A. Vardy, Binary Polarization Kernels From Code Decompositions, IEEE Transactions on Information Theory, vol. 61, no. 5, pp. 2227-2239, May 2015, doi: 10.1109/TIT.2015.2409257. [0047] [5]F. Gabry, V. Bioglio, I. Land, and J. C. Belfiore, Multi-kernel construction of polar codes, in 2017 IEEE International Conference on Communications Workshops (ICC Workshops), May 2017, pp. 761-765. doi: 10.1109/ICCW.2017.7962750. [0048] [6]S. R. Tavildar, An interleaver design for polar codes over slow fading channels, arXiv:1610.04924 [cs, math], October 2016, Accessed: Oct. 18, 2016. [Online]. Available: http://arxiv.org/abs/1610.04924 [0049] [7]T. Koike-Akino, Y. Wang, S. C. Draper, K. Sugihara, and W. Matsumoto, Bit-interleaved polar-coded OFDM for low-latency M2M wireless communications, in 2017 IEEE International Conference on Communications (ICC), Paris, France: IEEE, May 2017, pp. 1-7. doi: 10.1109/ICC.2017.7996931. [0050] [8]H. Ju, M. Kim, D. Lee, M. Jang, and S.-H. Kim, Diversity Guaranteeing Transmission of Polar Codes over Block Fading Channels, in 2022 IEEE Globecom Workshops, December 2022, pp. 480-485. doi: 10.1109/GCWkshps56602.2022.10008535. [0051] [9]K. Niu and Y. Li, Polar Coded Diversity on Block Fading Channels Via Polar Spectrum, IEEE Trans. Signal Process., vol. 69, pp. 4007-4022, 2021, doi: 10.1109/TSP.2021.3094652. [0052] [10]F. J. MacWilliams and N. J. A. Sloane, The Theory of Error Correcting Codes, vol. 16. In North-Holland Mathematical Library, vol. 16. Amsterdam: North-Holland, 1977.
The above-listed publications are incorporated herein by reference.
[0053] Hereinafter, embodiments of the disclosure will be described in detail with reference to the accompanying drawings.
[0054] In describing the embodiments, descriptions related to technical contents well-known in the art and not associated directly with the disclosure will be omitted. Such an omission of unnecessary descriptions is intended to prevent obscuring of the main idea of the disclosure and more clearly transfer the main idea.
[0055] For the same reason, in the accompanying drawings, some elements may be exaggerated, omitted, or schematically illustrated. Further, the size of each element does not completely reflect the actual size. In the drawings, identical or corresponding elements are provided with identical reference numerals.
[0056] The advantages and features of the disclosure and ways to achieve them will be apparent by making reference to embodiments as described below in detail in conjunction with the accompanying drawings. However, the disclosure is not limited to the embodiments set forth below, but may be implemented in various different forms. The following embodiments are provided only to completely disclose the disclosure and inform those skilled in the art of the scope of the disclosure, and the disclosure is defined only by the scope of the appended claims. Throughout the specification, the same or like reference numerals designate the same or like elements. Furthermore, in describing the disclosure, a detailed description of known functions or constitution incorporated herein will be omitted in the case that it is determined that the description may make the subject matter of the disclosure unnecessarily unclear. The terms which will be described below are terms defined in consideration of the functions in the disclosure, and may be different according to users, intentions of the operators, or customs. Therefore, the definitions of the terms should be made based on the contents throughout the specification.
[0057] The terms used in the following description to refer to access nodes, network entities, messages, interfaces between network entities, various types of identification information, and the like, are provided merely for the convenience of explanation by way of example. Therefore, the present disclosure is not limited to the terms described below, and other terms having equivalent technical meanings may also be used. Such terms may also be replaced with terms defined in 3GPP Technical Specifications (TS) where appropriate.
[0058] In the following description, the terms physical channel and signal may be used interchangeably with data or control signal. For example, the term PDSCH (Physical Downlink Shared Channel) refers to a physical channel through which data is transmitted, but the term PDSCH may also be used to refer to the data itself. That is, in the present disclosure, the expression transmit a physical channel may be interpreted as being equivalent to the expression transmit data or a signal via a physical channel.
[0059] In the present disclosure, higher layer signaling refers to a signaling method in which a signal is transmitted from a base station to a terminal using a downlink data channel of the physical layer, or from the terminal to the base station using an uplink data channel of the physical layer. The higher layer signaling may be understood as RRC (Radio Resource Control) signaling or a MAC (Media Access Control) Control Element (CE).
[0060] Hereinafter, a base station is an entity that allocates resources to terminals, and may be at least one of a gNode B, an eNode B, a Node B, a base station (BS), a wireless access unit, a base station controller, and a node on a network. A terminal may include a user equipment (UE), a mobile station (MS), a cellular phone, a smartphone, a computer, or a multimedia system capable of performing communication functions. In the disclosure, a downlink (DL) refers to a radio link through which a base station transmits a signal to a UE, and an uplink (UL) refers to a radio link through which a UE transmits a signal to a base station. Furthermore, hereinafter, LTE or LTE-A systems may be described by way of example, but the embodiments of the disclosure may also be applied to other communication systems having similar technical backgrounds or channel types. Examples of such communication systems may include 5th generation mobile communication technologies (5G, new radio, and NR), 6th generation mobile communication technologies developed beyond LTE-A, and hereinafter, the 5G or 6G may be the concept that covers the exiting LTE, LTE-A, or other similar services. In addition, based on determinations by those skilled in the art, the embodiments of the disclosure may also be applied to other communication systems through some modifications without significantly departing from the scope of the disclosure.
[0061] Hereinafter, A or B as described in the present disclosure may be understood to include A, or B, or both A and B.
[0062] In addition, at least one of A, B, and C as described in the present disclosure may be understood to include A, or B, or C, or any combination thereof.
[0063] Furthermore, A/B as described in the present disclosure may be understood as A and/or B, which may include A, or B, or both A and B.
[0064] In the specific embodiments of the present disclosure described below, terms or components included in the disclosure may be expressed in singular or plural form depending on the specific embodiments presented. However, such singular or plural expressions are selected appropriately for convenience of description, and the present disclosure is not limited to a singular or plural number of components. A component expressed in the plural form may be implemented as a single component, and a component expressed in the singular form may be implemented as multiple components.
[0065] The drawings or flowcharts described below illustrate exemplary methods that may be implemented according to the principles of the present disclosure, and various modifications may be made to the methods illustrated in the flowcharts of the present disclosure. For example, although illustrated as a series of steps, various steps in each drawing or flowchart may overlap, occur in parallel, occur in a different order, or be repeated. In other examples, any step may be omitted or replaced with another step.
[0066] Herein, it will be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, may be performed by computer program instructions. These computer program instructions may be loaded onto a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which perform through the processor of the computer or other programmable data processing apparatus, create means for performing the functions specified in the flowchart block(s). These computer program instructions may also be stored in a computer usable or computer-readable memory that may direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer usable or computer-readable memory produce an article of manufacture including instruction means that perform the function specified in the flowchart block(s). The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable data processing apparatus to produce a computer executed process such that the instructions that perform on the computer or other programmable data processing apparatus provide steps for executing the functions specified in the flowchart block(s).
[0067] Further, each block may represent a module, segment, or portion of code, which includes one or more executable instructions for executing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order. For example, two blocks shown in succession may in fact be performed substantially concurrently or the blocks may sometimes be performed in the reverse order, depending upon the functionality involved.
[0068] As used in embodiments of the disclosure, the unit refers to a software element or a hardware element, such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), which performs a predetermined function. However, the unit does not always have a meaning limited to software or hardware. The unit may be constructed either to be stored in an addressable storage medium or to execute one or more processors. Therefore, the unit includes, for example, software elements, object-oriented software elements, components such as class elements and task elements, processes, functions, properties, procedures, sub-routines, segments of a program code, drivers, firmware, micro-codes, circuits, data, database, data structures, tables, arrays, and parameters. The components and functions provided by the unit may be either combined into a smaller number of components and a unit, or divided into additional components and a unit. Moreover, the components and units may be implemented to reproduce one or more CPUs within a device or a security multimedia card. Further, in the embodiments, the unit may include one or more processors.
[0069] It should be appreciated that the blocks in each flowchart and combinations of the flowcharts may be performed by one or more computer programs which include instructions. The entirety of the one or more computer programs may be stored in a single memory device or the one or more computer programs may be divided with different portions stored in different multiple memory devices.
[0070] Any of the functions or operations described herein can be processed by one processor or a combination of processors. The one processor or the combination of processors is circuitry performing processing and includes circuitry like an application processor (AP, e.g. a central processing unit (CPU)), a communication processor (CP, e.g., a modem), a graphics processing unit (GPU), a neural processing unit (NPU) (e.g., an artificial intelligence (AI) chip), a Wi-Fi chip, a Bluetooth chip, a global positioning system (GPS) chip, a near field communication (NFC) chip, connectivity chips, a sensor controller, a touch controller, a finger-print sensor controller, a display driver integrated circuit (IC), an audio CODEC chip, a universal serial bus (USB) controller, a camera controller, an image processing IC, a microprocessor unit (MPU), a system on chip (SoC), an IC, or the like.
[0071] It will be appreciated that various embodiments of the disclosure according to the claims and description in the specification can be realized in the form of hardware, software or a combination of hardware and software.
[0072] Any such software may be stored in non-transitory computer readable storage media. The non-transitory computer readable storage media store one or more computer programs (software modules), the one or more computer programs include computer-executable instructions that, when executed by one or more processors of an electronic device individually or collectively, cause the electronic device to perform a method of the disclosure.
[0073] Any such software may be stored in the form of volatile or non-volatile storage such as, for example, a storage device like read only memory (ROM), whether erasable or rewritable or not, or in the form of memory such as, for example, random access memory (RAM), memory chips, device or integrated circuits or on an optically or magnetically readable medium such as, for example, a compact disk (CD), digital versatile disc (DVD), magnetic disk or magnetic tape or the like. It will be appreciated that the storage devices and storage media are various embodiments of non-transitory machine-readable storage that are suitable for storing a computer program or computer programs comprising instructions that, when executed, implement various embodiments of the disclosure. Accordingly, various embodiments provide a program comprising code for implementing apparatus or a method as claimed in any one of the claims of this specification and a non-transitory machine-readable storage storing such a program.
[0074] The methods and apparatuses proposed in the embodiments of the present disclosure are not limited to each embodiment individually, but may also be applied in combination of all or some of the embodiments proposed in the disclosure. Therefore, the embodiments of the present disclosure may be modified and applied without significantly departing from the scope of the present disclosure, as would be understood by those skilled in the art. In this case, even if certain wordings are described differently across embodiments, they may be used interchangeably or in combination if their underlying concepts are equivalent. For example, for the same or equivalent concept, even if one embodiment uses the expression A and another embodiment uses the expression B, such expressions may be understood interchangeably, in substitution, or in combination.
[0075] Hereinafter, the operational principle of the present disclosure will be described in detail with reference to the accompanying drawings. In the following description of the present disclosure, detailed descriptions of well-known functions or configurations will be omitted when it is determined that such descriptions may unnecessarily obscure the gist of the present disclosure. Furthermore, the terms described below are defined in consideration of the functions of the present disclosure, and the definitions may vary depending on the user, the operator's intention, or customary practices. Therefore, the definitions should be made based on the overall content of the present specification.
[0076] In the following, for brevity, both FDD and TDD are considered as the duplex method for both DL and UL signaling.
[0077] Although exemplary descriptions and embodiments to follow assume orthogonal frequency division multiplexing (OFDM) or orthogonal frequency division multiple access (OFDMA), this disclosure can be extended to other OFDM-based transmission waveforms or multiple access schemes such as filtered OFDM (F-OFDM).
[0078] The present disclosure covers several components which can be used in conjunction or in combination with one another, or can operate as standalone schemes.
[0079] Before we discuss the details of the present principles, we list the basic notation that we will use throughout.
[0080] The notation aA indicates that a is an element of a set A. For any two sets A and B, the notation AB means that A is a subset of B, i.e., every element of A is an element of B. For any set A, we write A.sup.c to denote the complement A in a specified universal set; we write |A| to denote the size (number of elements) of A. (For x a real number, |x| denotes the absolute value of x.) The notation denotes the empty set. A partition of a set S is an ordered collection of sets =(A.sub.1, A.sub.2, . . . , A.sub.n) such that A.sub.1 A.sub.2 . . . A.sub.n=S and A.sub.iA.sub.j= for every 1i<jn. We will say that a partition
(A.sub.1, A.sub.2, . . . , A.sub.n) is non-trivial if the partition contains at least two non-empty sets; otherwise, we call the partition a trivial partition. Thus, to speak of a non-trivial partition
=(A.sub.1, A.sub.2, . . . , A.sub.n) of a set S, we must have n2 and |S|2. Note also that we have defined a partition as an ordered collection of sets, since order will be important in the following description.
[0081] We use vectors and matrices over algebraic structures (mostly, finite fields) to denote various signals and encoding and decoding operations on signals. Given a vector v=(v.sub.1, v.sub.2, . . . , v.sub.m) with m components, we say that v has length m, refer to the set {1, 2, . . . , m} as the index set of v, and call v.sub.i the ith element or the ith coordinate of v. For any subset A{1, 2, . . . , m} of indices of a vector v, we write v.sub.A to denote the subvector v.sub.A (v.sub.i:iA) consisting of elements v.sub.i of v with indices in A, with the elements of v listed in increasing index order in v.sub.A. For example, for v=(v.sub.1, v.sub.2, . . . , v.sub.8) and A={2,5,3,8,1}, we have v.sub.A=(v.sub.1, v.sub.2, v.sub.3, v.sub.5, v.sub.8).
[0082] We use capital letters to denote matrices over fields. For example,
denotes an mn array or matrix with m rows and n columns and with entry a.sub.i,j in the ith row and jth column. For A a matrix, the notation A.sup.1 and A.sup.T denote the inverse (if exists) and transpose of A. Given two matrices A and B, AB denotes the product of A and B. Given a vector v and a matrix A, we denote their product by vA. For these products to make sense, the matrices and vectors involved must have compatible dimensions. The Kronecker product of any two matrices
is defined as
[0083] Often, we consider indexed collections of signals or objects in a system that are not necessarily numerical in nature. In such cases we use the terms words and arrays to mean one-dimensional and two-dimensional collections. More precisely, the term word is used to mean a collection indexed by a single set of integers I, such as I={1, 2, . . . , m}. The term array is used to mean a collection indexed by the cartesian product IJ of two sets of integers I and J, such as I={1, 2, . . . m} and J={1, 2, . . . , n}. Words and arrays are denoted by notation similar to vectors and matrices, respectively.
[0084]
[0085] The wireless network 100 includes an eNodeB (eNB) 101, an eNB 102, and an eNB 103. The eNB 101 communicates with the eNB 102 and the eNB 103. The eNB 101 also communicates with at least one Internet Protocol (IP) network 130, such as the Internet, a proprietary IP network, or other data network.
[0086] Depending on the network type, other well-known terms may be used instead of eNodeB or eNB, such as base station, BS, gNodeB, or access point. For the sake of convenience, the terms eNodeB and eNB are used in this patent document to refer to network infrastructure components that provide wireless access to remote terminals. Also, depending on the network type, other well-known terms may be used instead of user equipment or UE, such as mobile station (or MS), subscriber station (or SS), remote terminal, wireless terminal, or user device. For the sake of convenience, the terms user equipment and UE are used in this patent document to refer to remote wireless equipment that wirelessly accesses an eNB, whether the UE is a mobile device (such as a mobile telephone or smartphone) or is normally considered a stationary device (such as a desktop computer or vending machine).
[0087] The eNB 102 provides wireless broadband access to the network 130 for a first plurality of user equipments (UEs) within a coverage area 120 of the eNB 102. The first plurality of UEs includes a UE 111, which may be located in a small business (SB); a UE 112, which may be located in an enterprise (E); a UE 113, which may be located in a WiFi hotspot (HS); a UE 114, which may be located in a first residence (R1); a UE 115, which may be located in a second residence (R2); and a UE 116, which may be a mobile device (M) like a cell phone, a wireless laptop, a wireless personal digital assistant (PDA), tablet, or the like. The eNB 103 provides wireless broadband access to the network 130 for a second plurality of UEs within a coverage area 125 of the eNB 103. The second plurality of UEs includes the UE 115 and the UE 116. In some embodiments, one or more of the eNBs 101-103 may communicate with each other and with the UEs 111-116 using WiFi, WiMAX, 3G, 4G, long-term evolution (LTE), LTE-A, 5G, or other present or future advanced wireless communication techniques.
[0088] Dotted lines show the approximate extents of the coverage areas 120 and 125, which are shown as approximately circular for the purposes of illustration and explanation only. It should be clearly understood that the coverage areas associated with eNBs, such as the coverage areas 120 and 125, may have other shapes, including irregular shapes, depending upon the configuration of the eNBs and variations in the radio environment associated with natural and man-made obstructions.
[0089] As described in more detail below, one or more of eNB 101, eNB 102 and eNB 103 include 2D antenna arrays that can be used in conjunction with embodiments of the present disclosure. In some embodiments, one or more of eNB 101, eNB 102 and eNB 103 support the codebook design and structure for systems having 2D antenna arrays.
[0090] Although
[0091] The embodiments of the present principles depicted in the figures and described below may be implemented in an eNB (such as eNB 102) and/or a UE (such as UE 116), as described in further detail below.
[0092]
[0093] The UE 116 includes an antenna 205, a radio frequency (RF) transceiver 210, a transmit (TX) processing circuitry 215, a microphone 220, and a receive (RX) processing circuitry 225. The UE 116 also includes a speaker 230, a controller/processor 240, an input/output (I/O) interface 245, input device(s) 250 (such as a keypad), a display 255, and a memory 260. The memory 260 includes a basic operating system (OS) program 261 and one or more applications 262. Either the OS program 261, one of the applications 262, or some combination thereof may implement programming for employing the present principles as described in the various embodiments herein.
[0094] The RF transceiver 210 receives, from the antenna 205, an incoming RF signal transmitted by an eNB of the network 100. The RF transceiver 210 may down-convert the incoming RF signal to generate an intermediate frequency (IF) or baseband signal which would be sent to the RX processing circuitry 225. The RX processing circuitry 225 transmits the processed signal to the speaker 230 (such as for voice data) or to the controller/processor 240 for further processing (such as for web browsing data).
[0095] The TX processing circuitry 215 receives, as at least some input data for the source data block, analog or digital voice data from the microphone 220 or other outgoing baseband data (such as web data, e-mail, or interactive video game data) from the controller/processor 240. The RF transceiver 210 receives the outgoing processed baseband or IF signal from the TX processing circuitry 215 and up-converts the baseband or IF signal to an RF signal that is transmitted via the antenna 205.
[0096] The controller/processor 240 can include one or more processors or other processing devices and execute the basic OS program 261 stored in the memory 260 in order to control the overall operation of the UE 116. For example, the controller/processor 240 could control the reception of forward channel signals and the transmission of reverse channel signals by the RF transceiver 210, the RX processing circuitry 225, and the TX processing circuitry 215 in accordance with well-known principles. In some embodiments, the controller/processor 240 includes at least one programmable microprocessor or microcontroller, while in other embodiments the main processor includes dedicated circuitry as well as (optionally) programmable logic or processing circuits.
[0097] The controller/processor 240 is also capable of executing other processes and programs resident in the memory 260, such as operations for channel quality measurement and reporting for systems having 2D antenna arrays. The controller/processor 240 can move data and/or instructions into or out of the memory 260 as required by an executing process. In some embodiments, the controller/processor 240 is configured to execute the applications 262 based on the OS program 261 or in response to signals received from eNBs or an operator. The controller/processor 240 is also coupled to the I/O interface 245, which provides the UE 116 with the ability to connect to other devices such as laptop computers and handheld computers. The I/O interface 245 is the communication path between these accessories and the controller/controller 240. The controller/processor 240 can be configured to perform the functions performed by the encoder, diversity mapper, decoder, and diversity demapper described in the following description.
[0098] The controller/processor 240 is also coupled to the input device(s) 250 (which may simply be a single button or may be an array or other set of buttons) and the display 255. The operator of the UE 116 can use the input device(s) 250 to enter data into the UE 116. The display 255 may be a touch screen display or other display capable of rendering text and/or at least limited graphics, such as from web sites, and receiving touch inputs by a user in accordance with known practices.
[0099] The memory 260 is coupled to the controller/processor 240, and at least a part of the memory 260 could include a random access memory (RAM), and another part of the memory 260 could include a Flash memory or other read-only memory (ROM).
[0100] Although
[0101]
[0102] As shown in
[0103] The RF transceivers 272a-272n receive, from the antennas 270a-270n, incoming RF signals, such as signals transmitted by UEs or other eNBs. The RF transceivers 272a-272n down-convert the incoming RF signals to generate IF or baseband signals. The IF or baseband signals are sent to the RX processing circuitry 276, which generates processed signals by filtering, decoding, and/or digitizing the baseband or IF signals. The RX processing circuitry 276 transmits the processed signals to the controller/processor 278 for further processing.
[0104] The TX processing circuitry 274 receives at least some input data. The TX processing circuitry 274 implements circuits to encode, multiplex, and/or digitize the outgoing baseband data to generate processed signals. The RF transceivers 272a-272n receive the outgoing processed signals from the TX processing circuitry 274 and up-converts the baseband or IF signals to RF signals that are transmitted via the antennas 270a-270n.
[0105] The controller/processor 278 can include one or more processors or other processing devices that control the overall operation of the eNB 102. For example, the controller/processor 278 could control the reception of forward channel signals and the transmission of reverse channel signals by the RF transceivers 272a-272n, the RX processing circuitry 276, and the TX processing circuitry 274 in accordance with well-known principles. The controller/processor 278 could support additional functions as well, such as more advanced wireless communication functions. Any of a wide variety of other functions could be supported in the eNB 102 by the controller/processor 278. In some embodiments, the controller/processor 278 includes at least one microprocessor or microcontroller, while in other embodiments the main processor includes dedicated circuitry (e.g., for controlling encoding and decoding processes, code puncturing and/or shortening processes, data mapping, etc.) as well as (optionally) programmable logic or processing circuits. The controller/processor 278 can be configured to perform the functions performed by the encoder, diversity mapper, decoder, and diversity demapper described in the following specification.
[0106] The controller/processor 278 is also capable of executing programs and other processes resident in the memory 280, such as a basic OS. The controller/processor 278 is also capable of supporting channel quality measurement and reporting for systems having 2D antenna arrays. In some embodiments, the controller/processor 278 supports communications between entities. The controller/processor 278 can move data and/or instructions into or out of the memory 280 as required by an executing process.
[0107] The controller/processor 278 is also coupled to the backhaul or network interface 282. The backhaul or network interface 282 allows the eNB 102 to communicate with other devices or systems over a backhaul connection or over a network. The interface 282 could support communications over any suitable wired or wireless connection(s). For example, when the eNB 102 is implemented as part of a cellular communication system (such as one supporting 3G, 4G, 5G, LTE, or LTE-A), the interface 282 could allow the eNB 102 to communicate with other eNBs over a wired or wireless backhaul connection. When the eNB 102 is implemented as an access point, the interface 282 could allow the eNB 102 to communicate over a wired or wireless local area network or over a wired or wireless connection to a larger network (such as the Internet). The interface 282 includes any suitable structure supporting communications over a wired or wireless connection, such as an Ethernet or RF transceiver.
[0108] The memory 280 is coupled to the controller/processor 278. Part of the memory 280 could include a RAM, and another part of the memory 280 could include a Flash memory or other ROM. In certain embodiments, a plurality of instructions is stored in memory. The instructions are configured to cause the controller/processor 278 to perform the systematic and/or non-systematic encoding or decoding processes, shortening processes, data mapping, etc.
[0109] Although
[0110]
[0111]
[0112] The above flowcharts illustrate example methods that may be implemented in accordance with the principles of the disclosure, and various changes may be made to the methods illustrated in the flowcharts herein. For example, while shown as a series of operations, various operations in each figure may overlap, occur in parallel, occur in a different order, or occur multiple times. In another example, operations may be omitted or replaced by other operations.
[0113]
[0114] The above flowcharts illustrate example methods that may be implemented in accordance with the principles of the disclosure, and various changes may be made to the methods illustrated in the flowcharts herein. For example, while shown as a series of operations, various operations in each figure may overlap, occur in parallel, occur in a different order, or occur multiple times. In another example, operations may be omitted or replaced by other operations.
[0115] In preferred embodiments of the present principles, the ith encoder output subword x.sub.i is related to the ith encoder input subword u.sub.i by an ith encoding function for each 1ir, wherein u.sub.i has a length M.sub.i which may depend on i, x.sub.i has a length N which is independent of i, and NM.sub.i1 for all 1ir.
[0116] (A
.sub.1, A.sub.2, . . . , A.sub.s), wherein the subchannel assignment partition
(A
.sub.1, A.sub.2, . . . , A.sub.s) is a non-trivial partition of the set {1, 2, . . . , t}, wherein the ith diversity transform output subword z.sub.i is assigned to the jth subchannel input word v.sub.j in case that i belongs to A.sub.j; and, 3623 transmitting the jth channel input subword v.sub.j over the jth subchannel for each 1js.
[0117] The above flowcharts illustrate example methods that may be implemented in accordance with the principles of the disclosure, and various changes may be made to the methods illustrated in the flowcharts herein. For example, while shown as a series of operations, various operations in each figure may overlap, occur in parallel, occur in a different order, or occur multiple times. In another example, operations may be omitted or replaced by other operations.
[0118] The present principles are compatible with a broad variety of encoder input mapping relations. To illustrate one, suppose we are given the sizes (M.sub.1, . . . , M.sub.r) of the encoder input subwords (u
.sub.1, u.sub.2, . . . , u.sub.r) as a design constraint. Let the data word d comprise K elements: d=(d.sub.1, d.sub.2, . . . , d.sub.K) for some K2, where K may also be viewed as a design constraint. An encoder input mapping relation may be specified in terms of a pair (
,
), where
=(B.sub.1, B.sub.2, . . . , B.sub.r) is a non-trivial partition of {1, 2, . . . , K} such that |B.sub.i|M.sub.i, 1ir; and,
=(D.sub.1, D.sub.2, . . . , D.sub.r) is a collection such that D.sub.i{1, 2, . . . , M.sub.i} and |D.sub.i|=
|B
.sub.i|, 1ir. The pair (
,
) g defines an input mapping relation via (u.sub.i).sub.D.sub.
=(B.sub.1, B.sub.2, . . . , B.sub.r) lies not so much in the composition of the sets (B.sub.1, B.sub.2, . . . , B.sub.r) but in the choice of the cardinalities K.sub.i=|B.sub.i|, 1ir, subject to the constraint that
with 0K.sub.iM.sub.i and with at least two of the K.sub.i's strictly positive. As regards the choice of , the composition of the sets (D.sub.1, D.sub.2, . . . , D.sub.r) is a major design problem that critically affects the performance obtained by the present principles.
[0119] The present principles in some of their preferred embodiments comprise polar coding at the encoder 321. When polar coding is used, using an encoder input mapping based on a pair (,
) as defined above makes it possible to utilize prior art methods of polar code design. In particular, given a non-trivial partition (B.sub.1, B.sub.2, . . . , B.sub.r), the sets (D.sub.1, D.sub.2, . . . , D.sub.r) can be chosen in accordance with polar code design rules from prior art such as density evolution, or a table listing polar code bit-channels in ascending order of reliability, etc. Below, we will provide a polar code example, where we illustrate this type of encoder input mapping.
[0120] At this point, we can explain the reason for imposing the requirement that be a non-trivial partition (excluding trivial partitions). If we were to allow a trivial partition in the framework of the present principles, the resulting system would have no diversity and would be equivalent to a prior art system. Trivial partitions (that yield the parameter choices r=t=s=1) become a better choice than non-trivial partitions (that yield parameter choices 2rt) when there is no fading in the channel or fading is rare enough that the fading can be tolerated within the specified reliability requirements. The benefits of the present principles emerge when there is need for providing extreme reliability that requires being prepared for various types of outage events.
[0121] A second example for an encoder input mapping relation is to map subwords d.sub.B.sub.
[0122] The system 300 is configured so that the numerical parameters r, t, and s satisfy t>r>1 and ts>1. Each encoder input subword may contain, in addition to data symbols from the data word d, frozen symbols and parity symbols. Frozen symbols are fixed to predetermined values. Parity symbols are computed dynamically as functions of the data word d. It is also possible that the data word d contains built-in redundancies such as cyclic redundancy check (CRC) symbols.
[0123] If some embodiments of the present principles, the communication system could be configured with multiple encoder input mapping relations and/or multiple subchannel assignment relations in order to provide flexibility with respect to code rate, code length, and degree of diversity. Such multi-configuration systems are common in current wireless standards such as 5G and are one of the requirements of future 6G standard. When the present principles are employed with such multiple configurations, a problem of coordination arises between the transmitter and receiver. In some cases, the receiver may employ blind detection methods to discover the configuration at the transmitter. Alternatively, encoder input mapping relation candidates (relation-1, relation-2, and relation-3) are configured by transmitting a radio resource control (RRC) message, and one relation (say, relation-2) may be specified by transmitting medium access control (MAC) control element (CE) or downlink control information (DCI) (or L1 signaling). Similarly, if we can use multiple sub-channel assignment methods, then we can use same scheme for diversity mapping step. For example, given (or predefined or preconfigured) a number of diversity mapping methods (method -1, method -2 and method -3), one relation (say, method-2) may be specified by transmitting at least one of a corresponding RRC message or DCI. As another example, diversity mapping methods (method -1, method -2 and method -3) are configured by transmitting the RRC message, and one method (say, method-2) may be specified by transmitting at least one of MAC CE or DCI. Furthermore, one of the relations could be to omit diversity transmission for backward compatibility or transmission without diversity.
[0124] In the transmitter and receiver, one or more parameters related to at least one of an encoder input mapping relation configuration, a plurality of encoding functions, a diversity transform method, and a subchannel assignment relation configuration may be obtained. Some of the one or more parameters may be predetermined, some may be signaled between the transmitter and receiver, and some may be determined by the transmitter and/or receiver itself. It is also possible that a set including the above parameters is set in advance, and signaling indicating a specific parameter set is transmitted between the transmitter and receiver.
[0125] The present principles offer a wide range of implementation choices in a flexible manner thanks to a modular architecture in which the diversity transform is added as a module between various legacy error correction coding methods and the channel. The present and envisioned future wireless standards are equipped with control channels and signaling methods to coordinate a transmitter and receiver to take advantage of the present principles in rapidly changing wireless transmission environments.
[0126] Below, we will provide more details about specific design methods for the transmitter 320; however, we now turn our attention back to
[0127] The channel 330 produces a plurality of channel output subwords y.sub.1, y.sub.2, . . . , y.sub.s in response to the plurality of channel input subwords v.sub.1, v.sub.2, . . . , v.sub.s. In particular, the ith subchannel 330-i produces an ith channel output subword y.sub.i in response to the ith channel input subword v.sub.i, 1is. The internal details of the channel 330 lie outside the scope of the present principles. The transmitter 320 and the receiver 340 need not know the internal details of the channel 330. Present principles can be applied using a statistical model of the channel 330. In the statistical model, the plurality of channel output subwords y.sub.1, y.sub.2, . . . , y.sub.s may be one-dimensional or multi-dimensional real- or complex-valued symbols or signals from discrete or continuous alphabets; or they may be probability distributions, or arrays of likelihood ratios or log-likelihood ratios, etc. Additionally, y.sub.1, y.sub.2, . . . , y.sub.s may comprise various forms of side information about the plurality of subchannels 330-1 through 330-s, such as estimates of fading coefficients, outage events, received signal strengths, SNR estimates, etc.; the present principles are designed to take full advantage of such side information about the channel state.
[0128] We now turn to the receiver 340 and outline its general characteristics. The present principles rely on an iterative receiver process at the receiver 340 through the interaction of the diversity demapper 341 and the decoder 342 over a series of iterations. The process comprises four major steps: initialization, diversity demapping, decoding, and termination. Initialization comprises receiving the plurality of channel output subwords from the channel 330. Diversity demapping and decoding steps comprise an iterative loop. Termination comprises producing a receiver output and sending the output to the destination 350. There are several possible ways to implement the details of this type of iterative receiver process. We illustrate a basic implementation next.
[0129]
[0130] Initiation of the process: The process starts in step 381 and moves to step 382 when new channel data arrives. In step 382, the diversity demapper 341 receives the plurality of channel output subwords y.sub.1, y.sub.2, . . . , y.sub.s from the channel 330. In step 383, the diversity demapper 341 initializes the value of a global iteration counter i to 1. The global iteration counter i has global visibility in the sense that its value is visible to both the diversity demapper 341 and the decoder 342 as they execute the steps of the method 380.
[0131] Iterative process at the diversity demapper 341: At the outset of an ith iteration, in step 384, the diversity demapper 341 obtains a feedback message sent by the decoder 342 as part of the previous iteration; in the first iteration, there will be no decision feedback message, so the diversity demapper proceeds without attempting to obtain a decision feedback in the first iteration. While still in step 384, the diversity demapper identifies an ith decoder input statistic l.sub.i based on the initially received plurality of channel output subwords and any decision feedback received from the decoder 342 in previous iterations, sends the ith decoder input statistic l.sub.i to the decoder 342, and starts waiting for an ith decision feedback from the decoder 342.
[0132] Iterative process at the decoder 342: In step 385, the decoder 342 obtains the ith decoder input statistic l.sub.i and identifies an ith partial decoder decision. In step 386, the decoder 342 checks if an ith termination condition is satisfied. If the termination condition is not satisfied, then the decoder 342 executes step 387 which comprises identifying an ith decision feedback message, sending the ith decision feedback message to the diversity demapper 341, and increasing the global iteration counter by one. At this point, the ith iteration is completed, and the next iteration begins in step 384, with the diversity demapper taking control of the process.
[0133] Completion of the process: When the termination condition in step 386 is satisfied, the decoder 342 proceeds to step 388, which comprises identifying a decoder output and sending the decoder output to the destination 350. The next step 389 marks the end of the receiver process. The process may return to step 381 and initiate a new receiver process.
[0134] We now provide further details on possible implementations of various steps of the receiver method 380. In a basic embodiment of the receiver method 380, the ith partial decoder decision may comprise an ith decoded encoder input subword .sub.i and the ith decision feedback message may comprise an ith decoded encoder output subword {circumflex over (x)}.sub.i. Then, the steps 385 and 387 are regarded successful if .sub.i and {circumflex over (x)}.sub.i replicate the true values u.sub.i and x.sub.i of the ith encoder input and output subwords, respectively. The ith termination condition in step 386 may comprise checking if value of the global iteration counter i is less than r, the number of encoder input subwords. The ith termination condition in step 386 may further comprise checking for a decoding failure, e.g., by checking if .sub.i satisfies a cyclic redundancy check. If step 388 is reached without a detected decoder failure, then the decoder output may comprise a decoded data word {circumflex over (d)}, wherein {circumflex over (d)} is identified from the plurality of decoded encoder input subwords .sub.i, .sub.2, . . . , .sub.r by using an inverse of the encoder input mapping rule (that is used at the transmitter 320). Otherwise, if step 388 is reached with a detected decoder failure, the decoder 342 may send an error code to the destination to indicate a decoder failure. As for the diversity demapping steps of a basic embodiment, the ith decoder input statistic l.sub.i may comprise a conditional probability distribution on possible values of the ith encoder output subword x.sub.i given the plurality of channel output subwords y.sub.1, y.sub.2, . . . , y.sub.s and the first (i1) decoded encoder output subwords {circumflex over (x)}.sub.1, {circumflex over (x)}.sub.2, . . . , {circumflex over (x)}.sub.i1 received from the decoder 342 in preceding iterations. (In the first iteration, {circumflex over (x)}.sub.1, {circumflex over (x)}.sub.2, . . . , {circumflex over (x)}.sub.i1 is to be interpreted as an empty list of subwords.) Below, we give some simulation results for this type of basic receiver and provide exact specifications of each step of the receiver method 380.
[0135] The above basic embodiment of the receiver method 380 is serial in the sense that the embodiment takes r iterations to produce a decoded data {circumflex over (d)}. Serial receiver implementations minimize hardware complexity at the expense of latency. The receiver method 380 as depicted in the flowchart is general enough to accommodate parallelized implementations, in which the diversity demapper 341 and the decoder 342 collaborate to produce multiple partial decoder decisions per iteration, and complete the receiver process in a smaller number of iterations. Such parallel implementations cut down latency at the expense of hardware complexity. As the person skilled in the art will recognize, there are many ways of implementing the receiver method 380 in parallel in accordance with the flowchart in
[0136] Clearly, the above type of parallel decoder process is highly complex to implement; however, if implemented properly, the process may reduce latency and improve performance (reduce the probability of decoding error) because the process uses diversity in decoding (in addition to transmission diversity). Parallel decoding could be selected to reduce latency and improve performance when there are symmetries built into the diversity transform and various decoding orders are equivalent to each other under these symmetries. In another variant of implementing a parallel receiver process in accordance with the receiver method 380, one may use an adaptive decoding order in which a plurality of copies of the receiver method 380 choose a set of decoding order permutations adaptively after observing the plurality of channel output subwords y.sub.1, y.sub.2, . . . , y.sub.s. Adaptive decoding methods would prioritize permutations that are more likely to succeed and could improve performance or reduce cost of implementation. The present principles set a framework for exploiting diversity in transmission, which in turn sets the stage for employing a rich set of ideas for taking advantage of diversity. The scope of the present principles covers all such variants of the receiver method 380 that will be obvious to the person skilled in the art after the description given here.
[0137] The above flowcharts illustrate example methods that may be implemented in accordance with the principles of the disclosure, and various changes may be made to the methods illustrated in the flowcharts herein. For example, while shown as a series of operations, various operations in each figure may overlap, occur in parallel, occur in a different order, or occur multiple times. In another example, operations may be omitted or replaced by other operations.
[0138] We omitted describing common control functions that are necessary for orderly execution of the steps of the flowchart in
[0139] We now turn our focus to preferred embodiments of the present principles and describe specific encoding and decoding methods. To that end, we will consider a mathematical formulation of the present principles using standard vector space and probability theory concepts. The mathematical formulation is intended to illustrate the present principles in a clear and precise manner; they should not be interpreted as limiting the scope of the present principles in any manner.
[0140] We begin the mathematical formulation with the transmitter 320. We will use vectors and matrices to represent signal processing steps in the transmitter 320. We will use row vectors to represent signals (words or subwords) and matrices to represent operations on signals. We will represent the plurality of encoder input subwords u.sub.1, u.sub.2, . . . , u.sub.r, the plurality of encoder output subwords x.sub.1, x.sub.2, . . . , x.sub.r, and the plurality of diversity transform output subwords z.sub.1, z.sub.2, . . . , z.sub.t as row vectors. For the sake of simplicity in presentation, we will assume that the vectors for x.sub.1, x.sub.2, . . . , x.sub.r and z.sub.1, z.sub.2, . . . , z.sub.t have a common length N. We allow the vector for u.sub.i to have a length M.sub.i that may depend on i, 1ir. Under this assumption about the lengths, we will have the vector representations u.sub.i=(u.sub.i,1, u.sub.i,2, . . . , u.sub.i,M.sub.
must be large enough to accommodate all the elements of the input data word d. If u.sub.1, u.sub.2, . . . , u.sub.r and the data input word d are over a common alphabet, e.g., if they are all binary vectors, then we must have
where K denotes the length of the input data word d. Even when u.sub.1, u.sub.2, . . . , u.sub.r and d are over the same alphabet, the present principles allow having
since there may be additional symbols, such as frozen symbols or parity-symbols, inserted into the encoder input subwords.
[0141] In preferred embodiments of the present principles, the encoding and diversity transform operations are linear operations represented by matrices. We represent the ith encoding function that maps the ith encoder input u.sub.i to the ith encoder output x.sub.i by a M.sub.iN matrix G.sup.(i), and refer to the ith encoding function as an ith encoding matrix, 1ir. We represent the diversity transform by a rt matrix G.sub.DIV and refer to the diversity transform as a diversity transform matrix.
[0142] In preferred embodiments, the encoder 321 is configured to identify the ith encoder output subword x.sub.i from the ith encoder input subword u.sub.i by computing
denotes the (k,j)th element of G.sup.(i), or equivalently, by computing x.sub.i=u.sub.iG.sup.(i), 1ir.
[0143] In preferred embodiments, the diversity mapper 322 is configured to identify the plurality of diversity transform output subwords z.sub.1, z.sub.2, . . . , z.sub.t from the plurality of encoder output subwords x.sub.1, x.sub.2, . . . , x.sub.t by computing
where
denotes the (i,j)th entry of the diversity transform matrix G.sub.DIV. An equivalent form of the diversity transform is
where x.sup.n=(x.sub.1,n, x.sub.2,n, . . . , x.sub.r,n).sup.T and z.sup.n=(z.sub.1,n, z.sub.2,n, . . . z.sub.t,n).sup.T, 1nN; or, compactly,
where
is an encoder output array and
is a diversity transform output array. We notice that the ith rows of X and Z are equal to x.sub.i and z.sub.i, respectively; and the nth columns of X and Z are equal to xn and Zn, respectively. From an implementation viewpoint, the diversity transform
comprises N independent diversity transforms
which can be computed in parallel or semi-parallel fashion to reduce latency (at the expense of increased hardware complexity).
[0144] The diversity mapper 322 further comprises a subchannel assignment relation, which in turn comprises a subchannel assignment partition =(A.sub.1, A.sub.2, . . . , A.sub.s) as described above. The diversity mapper 322 assigns (multiplexes) a kth diversity transform output subword z.sub.k into an ith channel input subword v.sub.i (and thereby transmits z.sub.k over the ith subchannel 330-i) if and only if kA.sub.i, 1is and 1kt. Thus, for each 1is, the ith channel input subword v.sub.i comprises the elements {z.sub.k,j:kA.sub.i,j=1, . . . , N} in some arbitrary order. An outage event occurring in the ith subchannel 330-i erases all diversity transform output subwords z.sub.k whose indices k belong to A.sub.i. Inside v.sub.i, the payload {z.sub.k:kA.sub.i} of v.sub.i may be serialized in any desired order. For example, one may have v.sub.i=(z.sub.k.sub.
[0145] We turn now to a more precise mathematical formulation of the receiver 340. The receiver 340 decodes the plurality of channel output subwords y.sub.1, y.sub.2, . . . , y.sub.s and identifies a decoded data word {circumflex over (d)} in accordance with a probabilistic model of the communication system 300. The probabilistic model treats the signals (words, subwords) as samples (realization values) of random variables or vectors over various ensembles of possible values. Following convention, we denote samples (realizations) with small case letters and the corresponding random variables, vectors, words, or subwords with capital letters. For example, X.sub.1, . . . , X.sub.t denote the random subwords that correspond to x.sub.1, . . . , x.sub.t. Likewise, Z.sub.1, . . . , Z.sub.t, V.sub.1, . . . , V.sub.s, and Y.sub.1, . . . , Y.sub.s are the random subwords that correspond to z.sub.1, . . . , z.sub.t, v.sub.1, . . . , v.sub.s, and y.sub.1, . . . , y.sub.s, respectively. We denote probability mass functions and probability density functions using standard notation, e.g., P.sub.(B|A)(b|a) denotes the conditional probability of the event {B=b} given the event {A=a}. Sometimes, we write p(b|a) instead of p.sub.(B|A)(b|a) when the random ensembles A and B are clear from the context.
[0146] An important part of the probabilistic model at the receiver 340 is a channel transition probability function p(Y.sub.1, . . . , Y.sub.s|V.sub.1, . . . , V.sub.s)(y.sub.1, . . . , y.sub.s|v.sub.1, . . . , v.sub.s) which denotes the probability mass or the probability density that the plurality of channel output words y.sub.1, . . . , y.sub.s are received given that the plurality of channel input subwords are v.sub.1, . . . , v.sub.s are transmitted. A particularly important channel model from the perspective of the present principles is a block-fading channel model. We will discuss this model below when we present some simulation results.
[0147] A critical task in receiver implementation is the specification and computation of the plurality of decoder input statistics l.sub.i, . . . , l.sub.r at the diversity demapper 341. Here, one may follow various well-established general procedures for receiver design. For example, l.sub.i may comprise the conditional probability p(X.sub.i|Y.sub.1, . . . , Y.sub.s, X.sub.1, . . . X.sub.i1)(x.sub.i|y.sub.1, . . . , y.sub.s, {circumflex over (x)}.sub.1, . . . , {circumflex over (x)}.sub.i1) of possible values of the ith encoder output subword x.sub.i given the channel outputs subwords y.sub.1, . . . , y.sub.s and the hypothesis that all previous decoder decisions are correct: ({circumflex over (x)}.sub.1, . . . , {circumflex over (x)}.sub.i1)=(x.sub.1, . . . , x.sub.i1). This type of l.sub.i is suitable when the receiver 340 employs successive cancellation decoding. The present principles may also be implemented so that l.sub.i comprises likelihood ratios or log-likelihood ratios, which may improve the numerical stability of computations. Various approximations may be introduced into the computation of l.sub.i to reduce computational complexity or keep numerical stability under control. The person skilled in the art will have no difficulty in adapting such methods for computing soft channel information to the problem here. The scope of the present principles covers all such methods for calculating decoder input statistics.
[0148] In general, computation of l.sub.i may be a formidable problem due to the size of the ensembles involved. Such difficulties are significantly alleviated if the channel 330 can be modeled using a product-form probability distribution. One type of channel for which the computational problem becomes manageable is a block-fading channel model and that type of channel will be considered in the examples below.
[0149] This completes the description of the system 300. It will be clear to the person skilled in the art that the present principles have an architecture that separates the error correction functions and the diversity mapping functions from each other; the two functions can be implemented independently so as to interact with each other over a standardized interface. This makes it possible to use a given diversity mapper/demapper pair in combination with many different types of encoder/decoder pairs. This property is important in adaptive coding schemes where the code lengths and rates can be changed from one use of the system 300 to another.
[0150] Two important subjects still require further discussion for implementing various preferred embodiments of the present principles: first, polar coding as a specific FEC scheme in connection with the present principles; and second, specific diversity transforms that provide the promised high reliability transmission. We will begin with the diversity transforms due to their central role in configuring the rest of the system 300.
[0151] We now describe various methods for design and performance analysis of diversity transforms. The goal is to find a suitable diversity transform that matches the error correction characteristics of a forward error correcting code, as embodied by the encoder 321 and the decoder 342, to the characteristics of the channel 330. For purposes of diversity transform design and analysis, we consider the diversity mapper 322, the channel 330, and the diversity demapper 341 in isolation from the rest of the system 300 and focus on one-shot transmission scenarios without any error correction coding. The diversity mapper 322 is configured with a diversity transform and a subchannel assignment partition =(A.sub.1, . . . , A.sub.s), wherein the diversity transform is represented by a rt matrix G.sub.DIV over an arbitrary finite field GF(q). Let the one-shot scenario consist of (i) choosing a vector =(.sub.1, . . . , .sub.r)GF(q).sup.r at random as a diversity transform input, (ii) mapping into a diversity transform output =(.sub.1, . . . , .sub.t)GF(q).sup.t by applying the diversity transform =G.sub.DIV, (iii) mapping into a plurality of subchannel inputs =(.sub.1, . . . , .sub.s) in accordance with the partition
and (iv) sending y over the channel 330, with .sub.i over the ith subchannel 330-i.
[0152] For purposes of diversity mapper design and performance assessment, we choose to model the channel 330 as an erasure channel. Specifically, we model the ith subchannel 330-i, 1is, as a block-erasure channel that either delivers the input .sub.i without any error with some probability 1, or erases .sub.i with probability , where 01 is a block-erasure probability.
[0153] We are concerned with extreme scenarios where multiple subchannels suffer block-erasures. We specify such scenarios by sets S{1, 2, . . . , s} that indicate the indices of subchannels that suffer block-erasures. Henceforth, we refer to such sets S as subchannel erasure scenarios. Given a subchannel erasure scenario S, an ith subchannel erases its input if and only if iS. We also consider families of subchannel erasure scenarios, such as ={S_1, S_2, . . . , S_m}, where each S.sub.j{1, 2, . . . , s} is a specific subchannel erasure scenario, 1jm. We use the term subchannel outage synonymously with subchannel erasure.
[0154] Erasure of a part .sub.s=(.sub.i:iS) of the channel input y under a subchannel erasure scenario S induces an erasure of a part .sub.E=(.sub.i:iE) of the transform output , where E is the union of all partition elements A.sub.k with kS. Thus, the subchannel assignment partition =(A.sub.1, . . . , A.sub.s) links each subchannel erasure scenario S{1, 2, . . . , s} to a diversity transform output erasure scenario E{1, 2, . . . , t}, where E=U.sub.kS A.sub.k. Likewise,
links each family of
subchannel erasure scenarios
={S_1, S_2, . . . , S_m} to a family of diversity transform output erasure scenarios ={E_1, E_2, . . . , E_m}, where E.sub.j=U.sub.kS A.sub.k, 1jm.
[0155] Given a diversity transform output erasure scenario E, the diversity demapper 341 has available only the set of equations .sub.E.sub.
[0156] Full-rank criterion. We say that a pair (G.sub.DIV,), comprising a diversity transform and a family of diversity transform output erasure scenarios, satisfies the full-rank criterion if the matrix G.sub.DIV(E.sup.c) is a full-rank matrix for each E.
[0157] The family of diversity transform output erasure scenarios depends on the family of subchannel erasure scenarios and the subchannel assignment partition
Given a diversity transform G.sub.DIV and a family of subchannel erasure scenarios
, one may try various subchannel assignment partitions
until a family of diversity transform output erasure scenarios is found such that the pair (G.sub.DIV,) satisfies the full-rank criterion. Thus, an important feature of the present principles is the condition that the diversity transform G.sub.DIV and a family of diversity transform output erasure scenarios ={E_1, E_2, . . . , E_m} satisfy the full-rank criterion, wherein is related to a family of subchannel erasure scenarios
, wherein each element of
comprises an outage of at least one subchannel among the plurality of subchannels.
[0158] From the standpoint of the present principles, it is desirable to use a pair (G.sub.DIV,) that satisfies the full-rank criterion. However, the present principles can be used even if no pair (G.sub.DIV,) can be found that satisfies the full-rank criterion. A more fine-grained design criterion, which we call rank profile, can be used for studying how the full-rank criterion fails and the severity of failure, and choosing a design accordingly. To describe the rank profile of a given pair (G.sub.DIV,), it will be convenient to introduce some more notation. Let G.sub.DIV be an arbitrary rt diversity transform matrix and let
denote the (rj+1)t matrix obtained from G.sub.DIV by deleting the first (j1) rows of G.sub.DIV. Thus,
consists of rows j through r of G.sub.DIV, in the same order as in G.sub.DIV.
[0159] Rank profile. Given a pair (G.sub.DIV,) with a rt diversity transform G.sub.DIV and a family of diversity transform output erasure scenarios {E.sub.1, . . . , E.sub.m}, we define the rank profile matrix R of (G.sub.DIV,) as a mr matrix whose (i,j)th entry r.sub.i,j equals the rank of
We refer to the ith row of the rank profile matrix R as the rank profile with respect to the ith erasure pattern E.sub.i.
[0160] To illustrate the above definitions and discuss their significance, we turn to examples.
Similar calculations show that rank
for all 1i6. Thus, the first diversity transform 401 satisfies the full-rank criterion. The rank profile matrix of the first diversity transform 401 is shown in 406. The rank profile matrix shows that each input coordinate of the first diversity transform 401 is fully protected against the family of diversity transform output erasure scenarios 404.
[0161] A second illustrative example in the display 400 comprises a second diversity transform
411, together with the subchannel assignment partition 402, the family of subchannel erasure scenarios 403, and the family of diversity transform output erasure scenarios 404. In this case, the full-rank criterion fails since the rank under erasures is still 4 but the number of rows is 8. The rank profile matrix for the second diversity transform 411 is shown in 412. The rank profile matrix 412 reveals that under the erasure scenarios E.sub.1, E.sub.3, E.sub.4, E.sub.6, only the transform input components 5, 6, 7, 8 can be recovered; while under the erasure scenarios E.sub.2 and E.sub.5, only the transform input components 3, 4, 7, 8 can be recovered. Thus, if the second diversity transform 411 is used, reliable recovery under all erasure patterns can be guaranteed only for the transform input components 7 and 8; the remaining 6 components must be frozen. The person skilled in the art of polar coding will readily verify that the second diversity transform 411 is a polar transform of order 3 over the binary field:
The matrix F.Math. acts as a diversity transform for ordinary polar codes of length N8. The fact that F.Math. has no 48 submatrix that satisfies the full-rank condition with respect to the family of subchannel erasure scenarios 403 is a source of weakness that the present principles remedy by using a diversity transform that satisfies the full-rank condition.
[0162] A preferred method of diversity transform construction. A preferred method for constructing diversity transforms is to begin with maximum distance separable (MDS) code constructions and adapt them to the present principles. To illustrate this, we turn to
[0163] In =(A.sub.1, A.sub.2, A.sub.3), with A.sub.1={1,2}, A.sub.2={3,4}, A.sub.3={5,6}.
[0164] The diversity transforms 501 through 509 are constructed based on Reed-Solomon (RS) codes or their extended versions. In the following, the notation RS(n,k,d) designates an RS code of block length n, dimension k, and minimum distance d. It is a well-known fact that over any field GF(q), there exist RS(n,k,d) codes for any 1knq1 and d=nk+1. RS codes are MDS codes in the sense that for a given n and k, they meet the Plotkin bound dnk+1 with equality. In the following, we also consider (singly, doubly, or triply) extended versions of RS codes, which are also MDS codes.
[0165] The diversity transforms 501 through 508 are constructed from generator matrices of RS codes over GF(4). The field GF(4) that we use here is based on a primitive element GF(4) satisfying .sup.2++1=0, and has elements {0,1,,.sup.2=1+}. The construction comprises converting GF(4)-valued RS generator matrix G.sub.RS to a GF(2)-valued diversity transform matrix G.sub.DIV by replacing each entry
of G.sub.RS with
where : GF(4).fwdarw.GF(2).sup.22 is a mapping from GF(4) to the set of 22 matrices over GF(2). The specific mapping we use in the examples 501 through 508 is defined as
If G.sub.RS is a kt matrix over GF(4), then the resulting diversity transform matrix G.sub.DIV is a (2k)(2n) matrix over GF(2).
[0166] The mapping is actually a representation of GF(4) by 22 matrices over GF(2) in the sense that (a+b)=(a)+(b) and (ab)=(a)(b) for any a, bGF(4). Such field representations exist in general. For any finite field GF(p.sup.m) and any 1mm, there exists a representation of GF(p.sup.m) using mm matrices over GF(p.sup.m-m+1). For a method of constructing such matrix representations, we refer to p. 106 of F. J. MacWilliams and N. J. A. Sloane, The Theory of Error Correcting Codes, vol. 16. in North-Holland Mathematical Library, vol. 16. Amsterdam: North-Holland, 1977. Thus, the specific diversity transform constructions that we present below to illustrate the present principles over a binary field GF(2) are applicable far more generally to diversity transform constructions over larger fields.
[0167] As a first example of the construction, we consider the diversity transform 501. The diversity transform 501 is obtained from the generator matrix
of a RS(3,2,2) code over GF(4) by replacing each entry of the generator matrix with the image of that entry under the above mapping . Note that the diversity transform 501 has 4 rows and 6 columns, which are twice the number of rows and columns of the preceding generator matrix, respectively. It can be verified that diversity transform 501 satisfies the full-rank criterion under the erasure scenario 521. So, the diversity transform 501 together with the subchannel assignment partition 531 provide full protection against any single subchannel outage in a channel 330 with three subchannels.
[0168] The diversity transform 502 is obtained from the generator matrix
of a singly-extended RS(4,2,3) code by replacing each element of the generator matrix by its image under the mapping . The diversity transform 502 satisfies the full-rank criterion under the erasure scenario 522. So, the diversity transform 502 together with the subchannel assignment partition 532 provide full protection against any two subchannel outages in a channel 330 with four subchannels.
[0169] The diversity transform 503 is obtained from the generator matrix
of a doubly-extended RS(5,2,4) by replacing each element of the generator matrix by its image under the mapping . The diversity transform 503 satisfies the full-rank criterion under the erasure scenario 523. So, diversity transform 503 together with the subchannel assignment partition 533 provide full protection against any three subchannel outages in a channel 330 with 5 subchannels.
[0170] The RS codes used in the construction of the diversity transforms 502 and 503 were obtained by extending a cyclic RS(3,2,2) code. It is possible to begin with a different generator matrix for the RS(3,2,2) code and extend the generator matrix to obtain new diversity transforms that also satisfy the full-rank criterion. The diversity transforms 504, 505, 506, and 507 are obtained in this manner.
[0171] The diversity transform 504 is obtained from the generator matrix
of a RS(3,2,2) code by converting the generator matrix using the representation . The diversity transform 504 satisfies the full-rank criterion under the erasure scenario 521. The diversity transform 504 and the subchannel assignment partition 531 provide full protection against any single subchannel outage in a channel 330 with 3 subchannels.
[0172] The diversity transform 505 is obtained from the generator matrix
of a singly-extended RS(4,2,3) code using the representation . The diversity transform 505 satisfies the full-rank criterion under the erasure scenario 522. The diversity transform 505 and the subchannel assignment partition 532 provide full protection against any two subchannel outages in a channel 330 with 4 subchannels.
[0173] The diversity transform 506 is obtained from the generator matrix
of a doubly-extended RS(5,2,4) code using the representation . The diversity transform 506 satisfies the full-rank criterion under the erasure scenario 523. The diversity transform 506 and the subchannel assignment partition 533 provide full protection against any three subchannel outages in a channel 330 with 5 subchannels.
[0174] The diversity transform 507 is obtained from the generator matrix
of a triply-extended RS(6,3,4) code using the representation . The diversity transform 507 satisfies the full-rank criterion under the erasure scenario 524. The diversity transform 507 and the subchannel assignment partition 534 provide full protection against any three subchannel outages in a channel 330 with 6 subchannels.
[0175] The diversity transform 508 is obtained by turning the diversity transform 502 into systematic form through elementary row operations. The diversity transform 508 satisfies the full-rank criterion under the erasure scenario 522. The diversity transform 508 and the subchannel assignment partition 532 provide full protection against any two subchannel outages in a channel 330 with 4 subchannels.
[0176] The diversity transform 509 is based on a single parity check code over GF(2) of length 3, dimension 2, and minimum distance 2. The diversity transform 509 satisfies the full-rank criterion under the erasure scenario 525. The diversity transform 509 and the subchannel assignment partition 535 provide full protection against any single subchannel outage in a channel 330 with 3 subchannels. We note that single-parity check codes are MDS codes. The construction here can be generalized by considering single-parity check codes of dimension r2, length t=r+1, and distance d=2 over GF(2) or larger fields.
[0177] To summarize, we have shown how to construct full-rank diversity transforms starting from RS codes and their extensions. We have restricted our attention to relatively small diversity transforms since we anticipate that these will be the most practical ones due to complexity considerations. For a general rt diversity transform G.sub.DIV over GF(q), the complexity of demapping the channel output (in other words, computing probabilities such as P(X.sub.i|Y.sub.1, . . . , Y.sub.s, X.sub.1, . . . , X.sub.i1)(x.sub.i|y.sub.1, . . . , y.sub.s, {circumflex over (x)}.sub.1, . . . , {circumflex over (x)}.sub.i1)) to provide the decoder 342 with decoder input statistics is an order O(q.sup.r) operation. So, we expect the present principles to be most useful when the size of the diversity transform is still manageable within practical constraints. In this regard, it is significant that major practical advantages have been observed, as we will show below, in simulation studies using a diversity transform over GF(2) with transform size r=4 and t=8.
[0178] Present principles with polar codes. We now return to
[0179] In the case of polar codes, the encoder 321 receives the data word d, maps the data word d into a plurality of encoder input subwords u.sub.1, u.sub.2, . . . , u.sub.r based on an encoder input mapping relation, and encodes u.sub.1, u.sub.2, . . . , u.sub.r into the plurality of encoder output subwords x.sub.1, x.sub.2, . . . , x.sub.r by computing x=u.sub.iG.sub.POL, wherein u.sub.i=(u.sub.i,1, u.sub.i,2, . . . , u.sub.i,N), (x.sub.i,1, x.sub.i,2, . . . , x.sub.i,N), 1ir, and wherein the encoder input mapping relation comprises setting (u.sub.i).sub.D.sub.|B
.sub.i| for each 1ir, wherein G.sup.(i) is a polar transform matrix and D.sub.i is chosen based on a polar code design relation, wherein the polar code design relation comprises a ranking of the reliabilities of the elements of u.sub.i, wherein 1ir. The reliability ranking may be based on a polar code design method such as density evolution customized to given channels or universal design methods such as the 5G NR polar code bit-selection method, which may be stored in a look-up table.
[0180] We suppose that the diversity mapper 322 is agnostic to polar coding and follows the general principles as already discussed above. The combined polar transform and diversity transform operations can be expressed as
for 1ir, 1jN, wherein
denotes the (k,i)th element of the diversity transform matrix G.sub.DIV and
denotes the (l,j)th element of the polar transform matrix G.sub.POL.
[0181] The polar transform can be written more compactly as X=UG.sub.POL, where X is the encoder output array defined earlier and U is a polar transform input array defined as
Recalling that the diversity transform can be expressed as
we may write the overall operation as
The product
can be computed as
as done in
which reverses the order of the transforms. The first way of computing involves r polar transforms followed by N diversity transforms, while the second way requires N diversity transforms followed by t polar transforms. Since t>r by assumption, the first way is preferable from a complexity viewpoint. The first way also offers flexibility since that way allows implementation of the diversity transform without modifying an existing polar encoder, allowing to insert the diversity transform between the encoder 321 and the channel 330. This flexibility is essential in case the polar encoder is inaccessible from outside, e.g., by virtue of being implemented as part of a custom-design integrated circuit.
[0182] The person familiar with Elias' product codes and Kronecker products of matrices will recognize that the matrix equation
can be written as z=u(G)
.sub.POL.Math.G.sub.
respectively. To be specific, z=(z.sub.1,1, z.sub.2,1, z.sub.r,1, z.sub.1,2, . . . , z.sub.r,2, . . . , z.sub.r,t) and u=(u.sub.1,1, u.sub.2,1, . . . u.sub.r,1, u.sub.1,2, . . . , u.sub.r,2, . . . , u.sub.r,t). From this perspective, the combination of the polar and diversity transforms is equivalent to a linear code generated by a generator matrix G.sub.PD-G.sub.POL.Math.G.sub.
[0183] Polar coding is compatible with the receiver method 380 discussed in
[0184] We now turn to some examples to demonstrate the practical utility of the present principles.
and n=3. The diversity transform matrix 602 has dimensions rt with r=4 and t=8; and the diversity transform matrix 602 is the same as the diversity transform matrix 505 discussed above in connection with
(In general, the rate of the combined polar-diversity code is given by
which equals the product of an average rate
for polar coding and a rate
for the diversity transform.)
[0185] The encoder 321 in the first embodiment maps the data word d to the plurality of encoder input subwords u.sub.1, u.sub.2, u.sub.3, u.sub.4 in accordance with the payload allocation vector 603 and the symbol quality ranking vector 604. The ith element of the payload allocation vector 603 indicates the number of elements of the data word d that are assigned to the ith encoder input subword u.sub.i, 1i4; accordingly, in the first embodiment, the subwords u.sub.1, u.sub.2, u.sub.3, u.sub.4 receive 5,6,7,8 elements from the data word d, respectively. The elements of the symbol quality ranking vector 604 indicate a ranking of the coordinates of the encoder input subword, with 1 indicating the least preferred position and 8 the most preferred one. In accordance with these rules, the encoder 321 in the first embodiment prepares the polar transform input matrix U as shown by 606. The first row of the polar transform input matrix U 606 is obtained as u.sub.i=(0,0,0, d.sub.1, d.sub.2, d.sub.3, d.sub.4, d.sub.5), which is a vector containing a payload of 5 data elements from the data word d as dictated by the first entry of the payload allocation vector 603. The 5 data elements in u.sub.1 are positioned in the top 5 most preferred (highest quality) positions as indicated by the symbol quality ranking vector 604. Thus, the two vectors 603 and 604, together with the number K=26 of the elements of the data word d define a subset of K data positions inside the matrix U 606 that are occupied by the elements of d. In the first embodiment, the elements of d are distributed to the K data positions inside U 606 in an increasing index order starting with the first row and from left to right in each row. This type of distribution is a natural one; however, the present principles are fully compatible with any other distribution order of the elements of the data word d among the K data positions inside the matrix U 606. This statement is true not only for the first embodiment 600 but more generally.
[0186] The polar transform and diversity transform operations in the first embodiment 600 are carried out in accordance with the general principles described in detail previously. In particular, the diversity mapper assigns the plurality of diversity transform output subwords z.sub.1, z.sub.2, . . . , z.sub.t=8 into the plurality of channel input subwords v.sub.1, v.sub.2, . . . , v.sub.s=4 in accordance with the subchannel assignment partition 605; so, the diversity transform output subword pairs (z.sub.1, z.sub.2), (z.sub.3, z.sub.4), (z.sub.5, z.sub.6), (z.sub.7, z.sub.8) are assigned, respectively, to the channel input subwords v.sub.1, v.sub.2, v.sub.3, v.sub.4. We use a natural serialization in the first embodiment, so that v.sub.i,2j-1=z.sub.2-1,j and v.sub.i,2j=z.sub.2i,j for 1is and 1jN. Thus, the ith channel input subword v.sub.i comprises 2N=16 components, v.sub.i=(v.sub.i,1, v.sub.i,2, . . . , v.sub.i,2N), 1is. The diversity mapper 322 in the first embodiment completes the transmitter 320 operations by transmitting the plurality of channel input subwords v.sub.1, . . . , v.sub.S over the channel 330.
[0187] The channel 330 in the first embodiment comprises s=4 subchannels and is characterized by the channel transition probability function
wherein h=(h.sub.1, h.sub.2, h.sub.3, h.sub.4) is a vector of block-fading coefficients, wherein h.sub.i is an ith subchannel block-fading coefficient, 1is. Furthermore, we assume that the output of the ith subchannel is related to its input by y.sub.i=h.sub.i.sub.i+w.sub.i, wherein .sub.i is a modulation word corresponding to v.sub.i, and w.sub.i is an ith subchannel noise word, 1is.
[0188] We assume that binary phase shift keying (BPSK) modulation is used on all subchannels so that .sub.i has 2N=16 components, .sub.i=(.sub.i,1, . . . , .sub.i,2N), wherein .sub.i,j, equals +1 or 1 depending on whether v.sub.i,j equals 0 or 1, respectively, 1is=4, 1j2N=16. With BPSK modulation, each subchannel carries one bit per use of the subchannel, so a block of transmission takes 2N=16 uses of each subchannel. The fading coefficient h.sub.i stays fixed for the entire block of 2N uses of the ith subchannel. The ith noise word w.sub.i comprises 2N=16 components w.sub.i=(w.sub.i,1, . . . , w.sub.i,2N) and we assume that the components are statistically independent Gaussian random variables with mean 0 and variance .sup.2. Under these modeling assumptions, we have
Thus, conditional on the value of h.sub.i, the ith subchannel is an additive white Gaussian noise (AWGN) channel.
[0189] We consider two scenarios for the vector of fading coefficients h=(h.sub.1, h.sub.2, h.sub.3, h.sub.4). The first scenario is a no-fading scenario, with h=(1,1,1,1). In the first scenario, each subchannel is a pure AWGN channel with no fading. The second scenario is a block-fading scenario, with h taking a value uniformly at random from the set 607. The second scenario corresponds to always having two of the four subchannels in outage. For example, h=(1,1,0,0) corresponds to having subchannels 3 and 4 in outage while the other two subchannels operate without any fading. The first scenario is defined as a benchmark for measuring the relative performance under the second block-fading scenario. This completes the specification of the channel 330 in the first embodiment.
[0190] The receiver 340 in the first embodiment operates according to the general methods already described above. The diversity demapper 341 in the first embodiment uses the log-likelihood ratios
as the ith stage decoder input statistics l.sub.i, 1ir; the diversity demapper 341 computes the log-likelihood ratios with full knowledge of the noise variance .sup.2 and the vector of block-fading coefficients h that is in effect for the current transmission. The decoder 342 in the first embodiment implements successive cancelation (SC) decoding.
[0191] A benchmark polar code for performance comparison. We will assess the performance of the first embodiment specified above by comparing the performance with a benchmark polar code. The benchmark polar code is a standard prior-art polar code that uses a polar transform F.Math. to encode data words of length K=26 to code words of length N=64. Thus, the dimensions of the benchmark polar code match those of the code in the first embodiment. In the benchmark polar code, the polar transform input word u=(u.sub.1, u.sub.2, . . . , u.sub.64) contains frozen bits and data bits. The data bits are located in a set of positions indicated by a bit-selection vector, wherein the bit selection vector in the benchmark polar code equals (16, 24, 28, 30, 31, 32, 40, 44, 45, 46, 47, 48, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64). This bit-selection vector is constructed using prior-art polar construction rules, following the 5G NR polar code specification. In the benchmark polar code, the frozen bits in the polar transform input word are set to zero. The encoding of the benchmark polar code is completed by calculating the code word as x=uF.Math.. The benchmark polar code uses BPSK modulation over the same channel as we specified above for the first embodiment. There are 4 subchannels in the channel 330, and the segment (x.sub.(i1)16+1, . . . , x.sub.i16) of the code word x is sent over the ith subchannel, 1i4. The benchmark polar code is decoded by a standard successive cancellation (SC) decoder with full knowledge of the noise variance .sup.2 and the vector of block-fading coefficients h that is in effect for the current transmission. The benchmark polar code is equipped with a channel interleaver, defined by the permutation =(60, 30, 48, 54, 15, 3, 29, 9, 11, 1, 6, 41, 28, 37, 56, 43, 46, 18, 39, 19, 21, 58, 20, 26, 35, 5, 49, 52, 36, 2, 14, 42, 55, 61, 62, 47, 13, 27, 57, 4, 59, 51, 44, 24, 34, 45, 50, 22, 64, 17, 63, 31, 8, 40, 23, 10, 12, 16, 32, 25, 53, 38, 7, 33), which may be turned on or off. If interleaving is employed, the code word x is sent to the channel 330 in the permuted order .Math.x=(x.sub.60, x.sub.30, . . . , x.sub.33). The permutation w has been found by trying 1000 randomly chosen permutations and choosing the best one. One of the advantages of the present principles is to make it unnecessary to use interleavers.
[0192]
for the BPSK system here. The vertical axis corresponds to the frame error rate (FER). The curves 651 and 652 are the performance curves, under the first channel scenario, for the benchmark polar code and the polar-diversity code in the first embodiment, respectively. The curves 651 and 652 show that the present principles do not provide a gain over the benchmark polar code in the absence of channel fading. The curves 653 and 654 are performance curves for the benchmark polar code under the second channel scenario, with and without interleaving, respectively. The curves 653 and 654 show that, although interleaving helps, the benchmark polar code suffers from a severe error floor effect, and FER stops decreasing even as the SNR is increased to very high values. This is an indication that the benchmark polar code is unable to cope with channel outage events defined by the second channel scenario. The curve 655 shows the performance of the first embodiment of the present principles under the second channel scenario; there is no error floor and the performance improves as SNR is increased.
[0193] The chart 650 illustrates the practical utility of the present principles as a coding system designed to withstand extreme outage scenarios. Even if such extreme outage scenarios arise extremely rarely, they may be the main determinant of performance in applications that require extreme reliability subject to latency constraints. For example, a FER target of 10.sup.12 requires considering outage events of probability 10.sup.12. By outage events, we mean any event in the channel (such as interference, excess noise, etc.) that severely disrupts information transmission and renders the channel practically useless. The present principles increase the resilience of forward error correcting coding against such catastrophic outage events (curves 652 and 655), at the expense of some performance degradation under typical operating conditions (curves 651 and 652).
[0194]
[0195] The terminal is an electronic device capable of wireless communication, may include a User Equipment (UE), a portable phone, a smartphone, a tablet, an IoT device, etc., having various form factors, and may perform wireless communication with a base station through a wireless channel.
[0196] Referring to
[0197] The transceiver 701 may be a communication circuit that enables the UE 700 to transmit or receive a signal to or from a base station through cellular communication. For example, the transceiver 701 may support at least one of various cellular communication technologies including 3G, 4G, Long Term Evolution (LTE), 5G new radio (NR), 6G, and wireless communications of all following evolved generations.
[0198] According to an embodiment, the UE 700 may include a plurality of transceivers. In the case of supporting E-UTRA-NR Dual Connectivity (EN-DC), the UE may include a first transceiver supporting the 4G LTE wireless communication and a second transceiver supporting the 5G NR wireless communication. According to another embodiment, in the case of supporting NR Dual Connectivity (NR-DC), the UE 700 may include a plurality of transceivers supporting the 5G NR wireless communication. According to still another embodiment, in the case of supporting near field wireless communication, the UE 700 may separately include a transceiver supporting at least one standard in the group of wireless communication protocol standards as defined in the protocol standards for the Bluetooth, wireless LAN, or WLAN network (including IEEE 802.11-2016 standard or its amendments, e.g., 802.11ah, 802.11ad, 802.11ay, 802.11ax, 802.11az, 802.11ba, and 802.11be, without being limited thereto).
[0199] According to an embodiment, the transceiver 701 may include various circuit structures used to transmit or receive signals to or from a base station through a wireless channel. The signals may include control information and data. For example, the transceiver 701 may include an RF transmitter for up-converting and amplifying the frequency of a transmitted signal and an RF receiver for low-noise-amplifying a received signal and down-converting the frequency thereof. The transceiver 701 may output a signal received through a wireless channel to the processor 702 and may transmit, through a wireless channel, a signal output from the processor 702.
[0200] The processor 702 may control general operations of the UE 700 according to embodiments of the disclosure described above. The processor 702 may be implemented by one or more integrated circuit (or circuitry) (IC) chips and may execute various data processing steps. The processor 702 may include at least one electric circuit, and may execute instructions (or a program, codes, data, etc.) stored in the memory 703, individually, collectively or in any combination thereof. Further, the processor 702 may include a single-core processor or multi-core processor, and may include a processor assembly including a plurality of processing circuits according to a specific implementation scheme.
[0201] The processor 702 may be electrically, operatively, or communicatively coupled to the transceiver 701 to control the transceiver 701.
[0202] The processor 702 may include at least one processor (or processor circuitry), and the at least one processor may perform the following operations individually, collectively or in any combination thereof. For example, the processor 702 may include a communication processor (CP) configured to control communication operations and an application processor (AP) configured to control execution of an upper layer (for example, an application layer). In a specific embodiment, at least a part of the processor 702 may be included in one chip and the other part of the processor 702 may be included in another chip. Otherwise, at least one processor may be included in another component, for example, the transceiver 701 or the memory 703.
[0203] The processor 702 may perform or control an operation of the UE for executing at least one or a combination of methods according to embodiments of the disclosure. For example, the processor 702 may control operations of the UE for processing a downlink signal received from a base station or generating and transmitting an uplink signal to a base station. To this end, the processor 702 may execute a computer program, codes, or instructions stored in the memory 703, so as to control other components of the UE 700 to enable execution of various operations.
[0204] The memory 703 corresponds to a hardware storage device capable of temporarily or permanently storing information and may include one or more storage media. For example, the memory 703 may include a memory assembly including one or more storage media. For example, the one or more storage media may include a permanent memory, such as a hard drive, a flash memory, or a read-only memory (ROM), a semipermanent memory, such as a random access memory (RAM), a cache memory, or a combination thereof.
[0205] The memory 703 may be electrically, operatively, or communicatively coupled to the processor 702 and may be accessed by the processor 702.
[0206] The memory 703 may store a computer program, codes, or instructions executable by the processor 702. According to an embodiment, a computer program, codes, or instructions executable by the processor 702 may be either stored in a single memory or separated and distributed to be stored in two or memories. By executing the instructions stored in the memory 703, the processor 702 may perform various functions according to an embodiment of the disclosure.
[0207] According to an embodiment of the disclosure, operations of a UE discussed below may be performed through a computer program, codes, or instructions stored in the memory 703 by at least one processor configured to perform features of the disclosure individually, collectively, or in any combination thereof, a processing circuitry configured not to execute instructions, or components of a processing circuitry configured not to execute instructions, individually, collectively, or in any combination thereof.
[0208]
[0209] The base station 800 may perform wireless communication with at least one UE located within the area of the base station 800 through a wireless channel.
[0210] Referring to
[0211] The transceiver 801 may be a communication circuit that enables the base station 800 to transmit or receive a signal to or from the UE 700 through cellular communication. For example, the transceiver 801 may support various cellular communication technologies including 3G, 4G, Long Term Evolution (LTE), 5G new radio (NR), 6G, and wireless communications of all following evolved generations. According to an embodiment, the transceiver 801 may include various circuit structures used to transmit or receive signals to or from a UE through a wireless channel. The signals may include control information and data. For example, the transceiver 801 may include an RF transmitter for up-converting and amplifying the frequency of a transmitted signal and an RF receiver for low-noise-amplifying a received signal and down-converting the frequency thereof. The transceiver 801 may output a signal received through a wireless channel to the processor 802 and may transmit, through a wireless channel, a signal output from the processor 802.
[0212] The processor 802 may control general operations of the base station 800 according to embodiments of the disclosure described above. The processor 802 may be implemented by one or more integrated circuit (or circuitry) (IC) chips and may execute various data processing steps. The processor 802 may include at least one electric circuit, and may execute instructions (or a program, codes, data, etc.) stored in the memory 803, individually, collectively or in any combination thereof. Further, the processor 802 may include a single-core processor or multi-core processor, and may include a processor assembly including a plurality of processing circuits according to a specific implementation scheme.
[0213] The processor 802 may be electrically, operatively, or communicatively coupled to the transceiver 801 to control the transceiver 801.
[0214] The processor 802 may include at least one processor (or processor circuitry), and the at least one processor may perform the following operations individually, collectively or in any combination thereof. In a specific embodiment, at least a part of the processor 802 may be included in one chip and the other part of the processor 802 may be included in another chip. Otherwise, at least one processor may be included in another component, for example, the transceiver 801 or the memory 803.
[0215] The processor 802 may perform or control an operation of the base station for executing at least one or a combination of methods according to embodiments of the disclosure. For example, the processor 802 may control operations of the base station for generating and transmitting a downlink signal to a UE or processing an uplink signal received from a UE. Otherwise, the base station may transmit or receive a signal to or from a neighboring base station, transfer a signal received from a UE to an upper node of the network, or transmit a signal transferred from an upper node of the network to a UE. To this end, the processor 802 may execute a computer program, codes, or instructions stored in the memory 803, so as to control other components of the base station 800 to enable execution of various operations.
[0216] The memory 803 corresponds to a hardware storage device capable of temporarily or permanently storing information and may include one or more storage media. For example, the memory 803 may include a memory assembly including one or more storage media. For example, the one or more storage media may include a permanent memory, such as a hard drive, a flash memory, or a read-only memory (ROM), a semipermanent memory, such as a random access memory (RAM), a cache memory, or a combination thereof.
[0217] The memory 803 may be electrically, operatively, or communicatively coupled to the processor 802 and may be accessed by the processor 802.
[0218] The memory 803 may store a computer program, codes, or instructions executable by the processor 802. According to an embodiment, a computer program, codes, or instructions executable by the processor 802 may be either stored in a single memory or separated and distributed to be stored in two or memories. By executing the instructions stored in the memory 803, the processor 802 may perform various functions according to an embodiment of the disclosure.
[0219] According to an embodiment of the disclosure, operations of a base station discussed below may be performed through a computer program, codes, or instructions stored in the memory 803 by at least one processor configured to perform features of the disclosure individually, collectively, or in any combination thereof, a processing circuitry configured not to execute instructions, or components of a processing circuitry configured not to execute instructions, individually, collectively, or in any combination thereof.
[0220] While the particular METHODS AND APPARATUS FOR ERROR CORRECTION CODING COMBINED WITH DIVERSITY MAPPING is herein described in detail and is depicted in the drawings, it is to be understood that the subject matter which is encompassed by the present disclosure is limited only by the claims. Although the present disclosure has been described with exemplary embodiments, various changes and modifications may be suggested to one skilled in the art. It is intended that the present disclosure encompass such changes and modifications that fall within the scope of the appended claims. The description in the present application should not be read as implying that any particular element, step, or function is an essential or critical element which must be included in the claim scope: the scope of patented subject matter is defined only by the allowed claims. Moreover, none of these claims are intended to invoke 35 USC 112(f) with respect to any of the appended claims or claim elements unless the exact words means for or step for are explicitly used in the particular claim, followed by a participle phrase identifying a function. Use of terms such as (but not limited to) mechanism, module, device, unit, component, element, member, apparatus, machine, system, processor, or controller within a claim is understood and intended to refer to structures known to those skilled in the relevant art, as further modified or enhanced by the features of the claims themselves, and is not intended to invoke 35 U.S.C. 112(f).
[0221] Meanwhile, although specific embodiments of the present disclosure have been described in detail, various modifications may be made without departing from the scope of the present disclosure. Therefore, the scope of the present disclosure should not be limited to the described embodiments, but should be defined by the claims and equivalents thereof.