Data transmission with polarization coding of non-binary symbols and with modulation

By combining bit-to-symbol and symbol in-place mapping and generalization of polarization code in wireless digital communication, efficient signal modulation and forward error correction are achieved, and the problem of difficulty in realizing efficient data transmission under channel noise or distortion in the prior art is solved.

CN120019576APending Publication Date: 2025-05-16RAMPART COMMUNICATIONS INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202380071763.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-10-10
Filing Date
2023-10-09
Publication Date
2025-05-16

AI Technical Summary

Technical Problem

The prior art is difficult to effectively combine bit-to-symbol and symbol-in-place mapping with forward error correction (FEC) in wireless digital communications, making it difficult to achieve efficient data transmission under channel noise or distortion.

Method used

Dot matrix-based signal modulation is achieved by receiving the bit string at the processor, identifying the set of binary strings, and mapping it to multiple Abel group elements, applying generalization of polarization code to produce multiple second Abel group elements, and mapping it to signals in the in-phase/orthogonal (I/Q) constellation.

Benefits of technology

It realizes efficient signal modulation and forward error correction in wireless digital communication, improves channel capacity and data transmission reliability, and reduces the bit error rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120019576A_ABST
    Figure CN120019576A_ABST
Patent Text Reader

Abstract

A method includes receiving, at a processor, a bit string, performing error correction, and causing a modulated signal to be transmitted. Error correction includes identifying a set of binary strings based on a bit string, mapping each binary string of the set of binary strings to a first Abeth group element of a set of first Abeth group elements, and applying a generalization of a polarization code to the set of first Abeth group elements to produce a set of second Abeth group elements. Error correction further includes mapping each of the second Abeth group elements to an I / Q point of a set of in-phase / orthogonal (I / Q) points, and identifying real value points based on the set of I / Q points, each of the real value points representing an I / Q point of the set of I / Q points. The modulated signal has modulation based on real value points.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to and the benefit of U.S. Provisional Patent Application No. 63 / 414,666, filed on October 10, 2022, entitled “METHODS AND APPARATUS FOR LATTICE-BASED SIGNAL MODULATION USING A GENERALIZATION OF POLAR CODES,” the contents of which are incorporated herein by reference in their entirety. Technical Field

[0003] The present disclosure relates to digital communications, and more particularly, to using generalized bit-to-symbol and symbol-to-bit mapping in combination with forward error correction (FEC) as part of a wireless digital communications scheme. Background Art

[0004] A lattice is a periodic arrangement of points in n-dimensional space. Communications engineers and information theorists often use lattices for quantization and modulation, for example to perform lossy compression ("source coding") and / or noise immunity ("channel coding").

[0005] Polar codes are a class of state-of-the-art FEC codes that achieve symmetric capacity over memoryless channels by explicit construction and are decoded using low-complexity algorithms. Several generalizations of polar codes exist in the literature, such as polar codes over alphabets of prime bases and over finite fields. Summary of the invention

[0006] In some embodiments, a method includes: receiving a bit string at a processor, and identifying a set of binary strings based on the bit string. Mapping each binary string from the set of binary strings to a first Abelian group element from a plurality of first Abelian group elements. Applying a generalization of a polar code to each first Abelian group element to produce a plurality of second Abelian group elements in a manner that respects the natural geometry of the underlying group, and mapping each second Abelian group element to a signal in an in-phase / quadrature (I / Q) constellation. The set of constellation points may be from a lattice-based signal constellation, a conventional quadrature amplitude modulation (QAM), or any other I / Q constellation. Based on the mapping and / or based on the I / Q constellation, a real-valued point from a set of constellation points is identified, each real-valued point representing an I / Q point. A signal is transmitted or caused to be transmitted, the signal having a modulation based on the real-valued point.

[0007] In some embodiments, a method includes encoding a plurality of data bits into an index value. The index value is included in a plurality of index values ​​in Λ / rΛ, where Λ is a lattice and r is the number of bits in the plurality of data bits. The method also includes modulating the plurality of index values ​​into a plurality of lattice points of a lattice group, and converting each of the plurality of lattice points into a baseband in-phase / quadrature (I / Q) point of a plurality of in-phase / quadrature (I / Q) points. The method also includes causing a signal having a modulation based on the plurality of I / Q points to be transmitted.

[0008] In some embodiments, a non-transitory processor-readable medium stores instructions that, when executed by a processor, cause the processor to receive a signal representing a plurality of symbols encoded. Each symbol in the plurality of symbols represents an encoded binary string in a plurality of binary strings, and each encoded binary string in the plurality of binary strings is encoded using a generalization of a polar code. A data structure including transmission probabilities is identified based on the plurality of symbols, and the signal is decoded using successive cancellation based on the data structure of transmission probabilities to identify the plurality of binary strings. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Figure 1 is a diagram of a lattice-based data modulation system, according to an embodiment.

[0010] Figure 2 is a flow chart illustrating a first data encoding / signal modulation method according to an embodiment.

[0011] Figure 3 is a flowchart illustrating a second data encoding / signal modulation method according to an embodiment.

[0012] Figure 4 is a flow chart illustrating a method for decoding a received signal according to an embodiment.

[0013] Figure 5 is a graph showing signal-to-noise ratio (in decibels dB) versus log10 (bit error rate (BER)) curves for a variety of different modulation schemes according to an embodiment. DETAILED DESCRIPTION

[0014] According to some embodiments of the present disclosure, for digital communications, forward error correction (FEC) is performed using both generalized bit-to-symbol mapping and generalized symbol-to-bit mapping. For example, (1) polar code to greater than The generalization of the polar codes to a finite Abelian group or any finite Abelian group, and (2) the generalization of polar codes to a finite Abelian group and modulated onto a lattice, can be combined into a communication scheme combining mixed modulation types and error correction rates. As used herein, the term "generalization" refers to the error correction scheme for any Abelian group, restricted to polar codes as described herein in the case of Z / 2Z.

[0015] Generalization of Polar Codes

[0016] Known generalizations of polar codes include generalizations of the original work by Sasoglu et al. (see, e.g., “Polarization for Arbitrary Discrete Memoryless Channels,” Information Theory, Aug. 2, 2009, the contents of which are incorporated herein by reference in their entirety). Some such known generalizations follow the pattern of successful generalizations of linear block codes that lead to Reed-Solomon codes over finite fields. In a theoretical work, Sasoglu et al. showed in the same year as polar codes themselves that polar codes can be extended to alphabets of prime and prime-power sizes using finite-field arithmetic. In particular, for prime-power alphabet sizes, Sasoglu used a generalization based on The arithmetic sum of is the same as the generator matrix of the polar code. The prime powers are included via the finite field structure and are not polarizable using Sasoglu's proof. structure.

[0017] Later, in another theoretical work, Sasoglu showed that by finding more exotic groupoid structures using instead of simple arithmetic, similar arguments can be extended to any alphabet size. See, for example, “Polar Codes for Discrete Alphabets,” IEEE International Symposium on Information Theory Proceedings (ISIT), 2012 (“Sasoglu 2”), the contents of which are incorporated herein by reference in their entirety. Sasoglu 2 also does not show how to polarize an arbitrary alphabet, only that it is possible to polarize an arbitrary alphabet. Neither Sasoglu nor Sasoglu 2 show any benefit beyond binary polar codes. In fact, this work demonstrates that Not polarized.

[0018] In another theoretical work in 2012, Sahebi et al. showed that there is a theoretical generalization that realizes the capacity for any finite alphabet and any Abelian group structure over that alphabet (see, for example, "Multilevel Polarization of Polar Codes Over Arbitrary Discrete Memoryless Channels", Information Theory, July 7, 2011, the contents of which are incorporated herein by reference in their entirety). Sahebi showed that the general phenomenon that occurs when the same generator matrix is ​​used is multilevel polarization, so it can be used Polarization is performed and capacity is achieved using cosets of subgroups. However, Sahebi does not mention actual modulation, coding, or decoding schemes. In other words, Sahebi does not discuss any specific implementations or measurable benefits, let alone in the context of communication systems.

[0019] None of the above works mentions encoding bits into codewords, converting these codewords into modulated baseband I / Q, or how to actually send the modulated I / Q over any kind of channel. Moreover, none of the above works mentions how to receive signals, how to correct errors or decode codewords, or how to recover data messages. To the best of the inventor's knowledge, there is no known literature discussing actual coding performance related to the above works. For example, there are no known published bit error rate (BER) curves, receiver operating characteristic (ROC) curves, etc. related to this technology.

[0020] Arbitrary group / lattice constellation

[0021] The forward error correction methods described herein may be used in combination with one or more dense lattice constellations in some embodiments. Dense constellations in higher-dimensional signal spaces can be used in digital communications. Examples of lattice-based and efficient constellation mappings may be found, for example, herein and / or in U.S. Patent Application Publication No. US2023 / 0291632 (published on September 14, 2023, entitled “Methods and Apparatus for Signal Modulation Using Lattice-Based Signal Constellations”, the contents of which are incorporated herein by reference in their entirety). Dense constellations in higher-dimensional signal spaces facilitate the use of lower energy to achieve the same minimum distance between points of the constellation. Known schemes that combine coding theory with modulation, such as trellis coded modulation and multi-level coding, involve using coded bits to specify a subset of the constellation, such as a lattice coset, to determine the modulation of a point.

[0022] Signal constellation and modulation based on dot matrix

[0023] One idea known within the wireless communications community is to use points in a higher dimensional space that are "denseer" than the usual Quadrature Amplitude Modulation / Amplitude and Phase Shift Keying (QAM / APSK) constellations. This allows for greater distances (e.g., Hamming distance or Euclidean distance) between constellation points, which reduces the probability that channel noise or other channel distortions will cause errors. There have also been many attempts to combine coding theory with modulation, such as trellis coded modulation and multi-level codes.

[0024] Many methods use code-theoretic constructions (e.g., one of the methods discussed in Conway, J and Sloane, N, "Sphere Packings, Lattices, and Groups", Springer, 1993) or lattice constellations without an underlying code.

[0025] Known coding theory construction methods typically involve decomposing a lattice or set of lattices into a set of lattice cosets. The set of encoded bits is then used to select a coset (as a subset of the lattice or set of lattices), and the set of unencoded bits is used to select points within the subset. For example, a set of message bits can be run through a standard (binary) error correcting code (e.g., a convolutional encoder), and the output (encoded) bits are used to select a coset. The remaining message bits are then used to select points within that coset.

[0026] Another known approach is to use a lattice constellation without underlying coding, using instead a series of complex lookup tables (which becomes unwieldy at higher throughput / larger constellations), or using more geometrically convenient shaped regions such as rectangles (which reduces the efficiency of the constellation).

[0027] There are also methods and systems to facilitate bit-to-symbol mapping and symbol-to-bit mapping for lattice-based constellations (e.g., in modems / baseband processors) and for mapping bits to complex baseband I / Q points, regardless of any underlying coding theory scheme, and without picking out the closest elements of the lattice. In some cases, these methods and systems do not use lookup tables to map bit strings to lattice points or subsets of lattice points. In addition, in some cases, these methods and systems do not use rectangular shaping regions.

[0028] A lattice may refer to a set of points in n-dimensional space given by all linear combinations of a basis set of at most n linearly independent vectors with integer coefficients. An example of a lattice is the Leech lattice. As used herein, the Voronoi region of a lattice point may refer to a region of n-dimensional space that is closer to the lattice point than all other lattice points. In other words, the Voronoi region R of the lattice Λ v(0) is the set of points that are at least as close to 0 as any other point in Λ; for example, a Voronoi region is essentially the decision region for a maximum likelihood decoding algorithm for Λ (until ambiguities involved with ties on the boundaries are resolved). A code is a finite set of codewords of specified length, which are sequences of symbols that encode messages to be sent within a communication system. The codewords are translated into signals (encoded signals) via modulation into real and / or complex values. The encoded signals can be represented as points in signal space. A lattice code is defined by a finite set of lattice points within a predefined region of a given lattice, which is referred to herein as a "shaping region."

[0029] Figure 1 1 is a diagram of a lattice-based data modulation system according to an embodiment. The lattice-based data modulation system 100 can be used to repair signal distortion, for example, by correcting timing and frequency offsets. Figure 1 As shown in , the lattice-based data modulation system 100 includes a signal transmitter 110 that communicates with a signal receiver 130 (e.g., via a wired or wireless communication network "N"). Optionally, one or both of the signal transmitter 110 and the signal receiver 130 also communicates with one or more remote computing devices 120 (e.g., via a wired or wireless communication network "N") (e.g., for remote storage of data). The signal transmitter 110 includes a processor 112 operably coupled to a communication interface 114 and a memory 116. The memory 116 stores data and / or processor executable instructions. For example, as Figure 1 As shown in , the memory 116 includes a bit string 116A, a binary string 116B, a lattice-based signal constellation 116C (including a lattice element 116D), a real-valued point 116E, a symbol 116F (e.g., a bit and / or a bit group as described herein), an algorithm 116G (e.g., one or more closest vector algorithms), and optionally, a quotient 116H. Similarly, the signal receiver 130 includes a processor 132 operably coupled to a communication interface 134 and a memory 136. The memory 136 stores data and / or processor-executable instructions. For example, as Figure 1 As shown in , memory 136 includes bit strings 136A, binary strings 136B, lattice-based signal constellations 136C (including lattice elements 136D), real-valued points 136E, symbols 136F, algorithms 136G (e.g., one or more closest vector algorithms), and optionally, quotients 136H.

[0030] According to some embodiments of the present disclosure, a generalization of polar codes is performed that allows lattice modulation (such as the lattice modulation described above and / or in U.S. Patent Application Publication No. US2023 / 0291632) and forward error correction to be combined into a single framework. Actual lattice modulation schemes of the group structure (as explained below) are compatible with the systems and methods described herein.

[0031] Polar codes use a generator matrix given by:

[0032]

[0033] This matrix can be called the "generator matrix" or "polarization kernel" of the polarization transform. The generator matrix can be thought of as acting on the left side of a column vector of binary entries. The arithmetic is in the domain So if this acts on bit (b0, b1) T , then the value after the first transformation is the XOR sum of the first two The value after the second transformation is only the second bit b1. In other words, the matrix G transforms (b0, b1) to

[0034] Generalization to larger integer lattices

[0035] In some embodiments, the matrix G introduced above is used as part of the generalization, but the arithmetic is for the natural Z-norm structure on the chosen Abelian group, such as Where r is an integer valued power of 2. The expression r = 2 n is considered to be a power of 2 greater than 2, and the additions involved in applying G are then considered to be in the Abelian group, e.g., mod r. For example, if r=4, then the input vector is an element of the set {0, 1, 2, 3}, and the additions are mod 4. If the input is the vector (3, 2), then after applying G, we obtain (3+2, 2) mod 4=(1, 2).

[0036] Note that when only multiplication by 1 is used, the transformation is always invertible via the generator matrix:

[0037]

[0038] In other words, the transform can be inverted by taking the difference (mod r) of the received values. From the example above, consider the vector (1, 2). The difference is 1-2 = -1, so we get -1 mod 4 = 3. This produces the vector (3, 2), which is correct.

[0039] It is worth noting that Such Abelian group structures usually do not admit of field structure, but the above generalization does not even mention According to some embodiments, instead of A generator matrix is ​​a matrix of integers that conveys repeated additions rather than ring multiplications.

[0040] Similarly, the Kronecker power of the generator matrix G is (It is the generator for larger polar codes) by Kronecker powering the inverse of the generator In fact, since every Abelian group is modulo , so operating with this modular structure, the same generator matrix is ​​invertible for any Abelian group. So, given an Abelian group The nth Kronecker power of the generator matrix is ​​given by of Linear automorphism.

[0041] Generalization to any lattice quotient

[0042] Taking the foregoing into account, by using the Kronecker product Applied to the vector rit, it is possible to use the matrix G to convert A vector of values ​​in (referred to herein as integers modulo r or “rit”—integers from 0 to r-1, where r is identified by 0) is encoded as a codeword, where is a vector of integers and r is the number of values ​​(note that when r=2, rit is bits).

[0043] In some embodiments, the above discussion about the matrix G is combined with a lattice-based and efficient constellation mapping (such as the constellation mapping discussed above and / or in U.S. Patent Application Publication No. US2023 / 0291632) to obtain a constellation from an Abelian group (such as ) to an arbitrary lattice Λ embedded in. For example, in some embodiments, to obtain the Abelian group (such as ) to an embedded arbitrary lattice Λ includes mapping the bit string to a finitely distinguished subset of the infinite lattice by taking the quotient of a scaled copy of the lattice (in the context of a quotient group) so that the point lies in the scaled Voronoi region, thereby creating a finite lattice constellation Λ / rΛ. Although any lattice modulation is compatible with the embodiments described herein, some of the structures described herein and / or in U.S. Patent Application Publication No. US2023 / 0291632 may be particularly suitable because there is a A natural isomorphic mapping to the lattice quotient λ / rλ, which gives the lattice quotient an efficient mapping to a representative subset of λ.

[0044] For example, consider the n-dimensional lattice Λ n An ordered basis B. The basis is from (n-dimensional vector of integers) to Λ n In addition, note that B is restricted to Subgroup This is illustrated below, noting that since the squares on the left side of the graph are commutative, the combination of the basis and the quotient graph Q has a kernel ("ker") (Right now, ). Now, by the general properties of the cokernel, there exists a unique homomorphism Make the squares on the right interchangeable.

[0045]

[0046] By using B -1 Using the same strategy, we obtain the mapping This makes the right side commutative. So τ = σ -1 , so that σ is isomorphic. Therefore, the quotient Λ n / λΛ n As an Abelian group isomorphic to the quotient space is the set of n copies of integers modulo λ (i.e., of the form (a1, a2, a3, ..., a n ), where each a i ∈(0,...,λ-1)). The size of this set is λ n And, due to the isomorphism implied by the above commutative diagram, Λ n / λΛ n The size of 。

[0047] If the value of λ is raised to the power of 2 (so that λ = 2 k ), then the quotient Λ n / λΛ n The number of points in is 2 nk This means that there exists a binary string (or substring) of length nk to the quotient Λ n / λΛ n A bijection is a function that is both injective and injective. In other words, for every element in the domain, there is a unique element in the codomain that it maps to, and every element in the codomain is mapped to by at least one element in the domain.

[0048] The key result of the above is that when the lattice Λ is chosen to The underlying (geometric) Voronoi quotient map and coefficients on the lattice when isomorphic to The components of the vectors are completely mutually arithmetic modulo r. This means that the generalization described above in (2) includes group actions similar to those on Λ / rΛ. This also means that the actions of the matrix G can be effectively applied to the lattice unchanged. In other words, if + is taken to mean If we consider the addition in , then the application of G to transform a pair of lattice points (l0, l1) to (l0+l1, l1) is very well defined.

[0049] The inventors are not aware of any known examples in the literature that n Discussion of taking polar codes on a group of Λ / rΛ and implementing it via modulation on a subset of a dense lattice Λ in Euclidean space while preserving the group structure in Λ / rΛ. It is worth noting that the benefit of this generalization is clear. The known integer lattice (which is the lattice underlying all QAM modulations) is not very dense. By generalizing to arbitrary lattices, it is possible to use the known dense packing in the dimensions of the Hilbert space where the baseband I / Q samples reside. This can allow greater separation between data carrying constellation points for much lower total energy / power levels, as well as increased throughput for lower total energy.

[0050] By using the generalized polar coding described herein, the benefits of lattice modulation (such as those described herein and / or in U.S. patent application publication No. US2023 / 0291632) can be combined with the ability to change the effective code rate using state-of-the-art codes for additive white Gaussian noise (AWGN) channels, thereby providing greater granularity for adjusting to changing channel conditions and power levels.

[0051] Methods of mapping data bits into the aforementioned framework and methods of changing the ratio of the resulting code are discussed in the following sections.

[0052] Bit to symbol mapping

[0053] Using standard integer lattice Bit-to-symbol mapping

[0054] In some embodiments, The encoding process is performed on is an n-dimensional vector of integers. Encoding processing and For example, in the context of standard QAM modulation techniques, the encoding process may be exactly equivalent to n independent copies of and in this case there is no benefit. Therefore, the arithmetic is Using the standard integer lattice, “rit” can be an integer in [0, r), where r = 2 n is always a power of 2, so that log2(r) bits can always be naturally mapped into each rit.

[0055] As an example, if r = 4, then the integers {0, 1, 2, 3} are used. The data bits can be broken into blocks of 2, and then the following mapping maps the bit pairs to r = 4 rits (e.g., multiples of the first Abelian group elements):

[0056]

[0057] If r=8, then rit can be {0, 1, 2, 3, 4, 5, 6, 7}, and the data bits can be broken up into blocks of 3, and the following mapping sends blocks of 3 bits to the rit value:

[0058]

[0059] A similar process can be achieved for larger r.

[0060] In some embodiments, the aforementioned values ​​(e.g., the second plurality of Abelian group elements) can be converted into baseband I / Q that mimics the structure of a quadrature amplitude modulation (QAM) system. For example, for r=2, where rit is {0,1}, two rits - (n0, n1) - can be taken at a time and rit can be mapped to the complex number n0+in1. This results in a set of points {0+i0,0+il,1+i0,1+i}={0,i,1,1+i}. If the point .5+.5i (i.e., the mean of those 4 points) is subtracted from each of the aforementioned points, then the point {±.5±.5i} is obtained, which is exactly QPSK.

[0061] For r=4, rit is {0,1,2,3}. rit can again be arranged into pairs (n0,n1) and can form the complex value n0+in1. The total set is then {0,1,2,3,i,1+i,2+i,3+i,2i,1+2i,2+2i,3+2i,3i,1+3i,2+3i,3+3i). If the mean 1.5+1.5i is again subtracted from each point, the 16-QAM constellation is fully recovered. Similarly, for r=8, the 64-QAM constellation is fully recovered, for =16, the 256-QAM constellation is recovered, and so on.

[0062] Note that on an AWGN channel, errors will appear in the rit, not in the bit values ​​themselves. For some cases, this is not necessarily a problem. For example, in the r=8 example in equation (4) above, an error from rit 2 to 3 results in an error in a single bit. However, a rit error from 3 to 4 results in an error in 2 bits. Therefore, permutations and / or bijections can be performed so that for each block in a block space (e.g., a domain), there is a unique rit in the rit space (e.g., a codomain) to which it is mapped, and / or each rit in the codomain is mapped to by at least one block in the domain. For example, in some embodiments, Gray encoding can optionally be performed before performing the mapping to the rit. For example, in the r=8 example, the additional steps shown below (in this case, inverse Gray coding) can be included:

[0063]

[0064] Now, note that any single RIT error will only result in a single bit error in the underlying data.

[0065] In some embodiments, to construct the code, and ignoring bit freezing for the moment, the Kronecker product of G can be applied to the input rit to the appropriate power. The result will be a list of rit between 0 and r-1, which in turn can be mapped into the appropriate QAM, as described above.

[0066] For example, consider a scenario where r=4, the block size is 8, and the starting block of data bits is (0,0,1,0,0,1,0,1,1,0,1,0,0,0,1,1). The starting block of data bits can be decomposed into blocks of 2 (=log2(r)), resulting in ((0,0),(1,0),(0,1),(0,1),(1,0),(1,0),(0,0),(1,1)). These pairs are then Gray encoded to obtain ((0,0),(1,1),(0,1),(0,1),(1,1),(1,1),(0,0),(1,0)) and these values ​​can be mapped to rit, resulting in (0,3,1,1,3,3,0,2). Finally, the result can be obtained by the Kronecker product Running, this returns (1,1,0,3,0,1,2,2), which in turn can be mapped to 16-QAM values ​​as described above.

[0067] Bit-to-symbol mapping with arbitrary lattices

[0068] This section represents a generalization of the previous section, but the computations are very similar - since starting with blocks of data, breaking them down into blocks of data bits, possibly Gray encoding those blocks, and then mapping them to integers rit can remain the same. However, in addition to the foregoing, the resulting rit can be used as the coefficients of the basis vectors of the lattice Λ. Then, when the Kronecker product of the matrix G is applied, the addition becomes addition in the quotient Λ / rΛ, rather than addition mod r. At the end of the encoding process, a list of elements of Λ / rΛ is obtained, which can then be modulated to baseband I / Q, for example using the techniques described herein and / or in U.S. Patent Application Publication No. US2023 / 0291632 or the like.

[0069] The computational complexity can be significantly reduced at this point. As can be observed from the lattice constellation construction described in this article, the arithmetic in integers mod r respects the arithmetic in Λ / rΛ. This means that instead of replacing the Kronecker of G with addition in Λ / rΛ, one can instead perform addition mod r of rit in integers (as described at the end of the previous section entitled "Bit-to-Symbol Mapping with Standard Integer Lattice"), and then by applying the basis of Λ to the output integer values, and then reducing those values ​​to Λ / rΛ. This process will produce the same results as described in the previous paragraph, and those points can then be mapped to I / Q as described in this article.

[0070] Note that the above reduction in computational complexity does not contradict the previous The claim that there is no benefit is contradictory. Encoding can be However, when the modulation enters a dense lattice, it is not expected that rit( In order to use dense lattices, we can use The encoding on .

[0071] Adjust the encoding rate

[0072] In the example above, each rit in the block of 8 rits fed into the encoder is used (apply ). In standard polar codes, the way to change the ratio of the code (or code rate, or the ratio of actual data bits to error correction bits) is by "freezing" certain bit positions to predefined values ​​known to both the transmitter and the receiver (the frozen value is usually chosen to be 0). This is because of the "polarization" effect of the matrix G, which makes some bit channels better and others worse. The degraded bit channels are frozen to 0, while the better bit channels are used for data. The ratio of the unfrozen bits to the total bits is the code ratio.

[0073] According to the embodiments described herein, the use of polar codes and the freezing of bit positions can be generalized. Consider first the case of r=4. In this case, each rit (e.g., the first Abelian element) has 2 bits (e.g., the first bit length). The optional Gray coding is now ignored, and the rit is as given in (3). For polar codes, each position is a single bit and can be used or not. In this case, because each rit has 2 bits, it is possible to "partially" freeze one or more of the rits. For example, all 4 possible values ​​{0,1,2,3} can be used, or each rit can be completely frozen as in polar codes (resulting in "0" being sent). In addition, when (one or more) rits are partially frozen, in some embodiments, only the most significant bit can be used (e.g., to produce a second Abelian group element with a second bit length, which is optionally different from the first bit length). In other words, only 0 or 2 can be used (each second Abelian group element is from multiple second Abelian group elements, corresponding to (0,0) or (1,0)). This allows a single bit to be used in the rit, rather than two or no bits, and since points 0 and 2 are farther apart (e.g., compared to the spacing associated with the first Abelian group element), there is a larger spacing to allow the receiver to distinguish them from each other. Furthermore, by using a simple generalization of the successive cancellation decoder, information for decoding subsequent rits can be provided to the decoder.

[0074] When r=8, each rit has 3 bits (e.g., the rit has an associated bit length of 3 bits), and each rit has a total of 4 options - (a) use all 3 bits, (b) use only 2 bits, (c) use only 1 bit, or (d) completely freeze all bits and use only 0. In other words, the options are:

[0075] Using 3 bits {0,1,2,3,4,5,6,7},

[0076] Use 2 bits {0,2,4,6},

[0077] Use 1 bit {0,4},

[0078] Use 0 bit {0}, (6)

[0079] In each case, using fewer bits results in a subset of the values ​​previously used in a way that makes the remaining rits spaced further apart. In some embodiments, the receiver can distinguish 0 from 4 better than distinguishing all 8 original values. In addition, the receiver can determine when only 0 or 4 is sent, and this knowledge can be used to improve the accuracy of decoding later bits.

[0080] It is worth noting that each reduction corresponds to a simplified constellation. In the example above with r=8, no freezing results in 64-QAM (as discussed in the section "Bit-to-Symbol Mapping with Standard Integer Lattice"). For the first partial freeze (using 2 bits instead of 3), the possible rits are {0, 2, 4, 6}, which is equivalent to 16-QAM in that rit. For the next partial freeze (using only 1 bit), the rits are 0 and 4, which is equivalent to QPSK. This is true for all values ​​of r. For example, if r=32, then the starting constellation is equivalent to 1024-QAM. As each less significant bit is frozen in sequence, this gradually reduces the individual rits to 256-QAM, 64-QAM, 16-QAM, and QPSK. This reduction is done in each individual rit, which means that a single code block can be a mixture of all modulation schemes at once. This process is performed in a way that the smaller sub-QAM is not visible at the sender, but the information is resolved in a way that each of these constellations appears at the hard decisions of the successive cancellation algorithm.

[0081] In some known systems, a set of "mod-cod" parameters specifies which single constellation and code rate to use. Such systems typically use all QPSK, all 16-QAM, all 64-QAM, etc., with a single specific code rate. Such systems typically use channel information to decide which constellation and code rate to use, considering that smaller constellations tend to perform better at lower signal-to-noise ratios (SNRs), but also send less information. The identification of the modulation constellation and code rate is typically an extremely complex decision that involves complex and sophisticated logic to implement.

[0082] In some embodiments of the present disclosure, in contrast to known methods, constellations, code rates, and modulation schemes are all unified into a single framework. The code rate automatically selects the appropriate constellation in each frozen rit, resulting in a hybrid constellation modulation that automatically optimizes throughput and performance. In other words, the appropriate constellation for each frozen rit can be automatically selected based on the code rate, optionally using multiple different constellations.

[0083] In some embodiments, a similar unified approach can be taken for any dot matrix version of these codes. -modulus, so all the structures mentioned above will directly continue (probably with the same or similar benefits), with the exception that after partial freezing and encoding with the Kronecker product of G, the lattice basis is applied and the result is reduced to Λ / rΛ. The resulting points will no longer resemble QAM, but will be a more efficiently spaced lattice modulation.

[0084] In yet another embodiment (alternatively or in addition to the foregoing), generalizations of the polar code successive cancellation decoder (e.g., list decoding, use of log-likelihood ratios, cyclic redundancy check (CRC) assisted decoding, systematic polar codes, etc.) are also compatible with the methods described herein, as further elaborated below.

[0085] In some embodiments, the code can be constructed so that r is arbitrarily large and / or approaches a continuous limit (e.g., the limit of r tends to infinity). Here, if the throughput of the code (e.g., the number of valid data bits) is constant, then the code can still be well defined. The following example can illustrate the effect of r being arbitrarily large and / or approaching a continuous limit.

[0086] In this example, polar code is used, and the initial data word is:

[0087] (0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1)

[0088] It is possible to have a block size (i.e., total number of bits) of 16, with 8 data bits being sent, resulting in a rate 1 / 2 code. In the initial data word, 0s may be frozen, while 1s may be data positions. This code may reflect a beta expansion method that minimizes the Bhattacharyya distance of the channel being used. Generalizing the polar code (where r=2) to the Bombe code (defined below) (where r=4), the initial data word may be represented as:

[0089] (0,0,0,0,0,0,0,2,0,0,2,0,1,1,1),

[0090] where 0 can be frozen, each 1 can carry 2 bits (so they can come from the set {0,1,2,3}), and each 2 can carry 1 bit (so they can come from the set {0,2}). This notation choice can indicate which elements are multiples of (mod r).

[0091] Convert the above r=4 Bangbei code to r=8 Bangbei code, then the initial data word can be expressed as:

[0092] (0,0,0,0,0,0,0,4,0,0,0,4,0,2,2,2),

[0093] where 0 is frozen, every 2 carries 2 bits (so they come from the set {0,2,4,6}), and every 4 carries 1 bit (so they come from the set {0,4}).

[0094] Convert the above into r=16 Bangbei code, then the initial data word can be expressed as:

[0095] (0,0,0,0,0,0,0,8,0,0,0,8,0,4,4,4),

[0096] The above counting is continued here in a similar pattern.

[0097] Note that while there is a difference from r = 2 to r = 4, the values ​​simply double from r = 4 to r = 8. The same doubling can be seen from r = 4 to r = 8 and from r = 8 to r = 16.

[0098] The alternative view above is in the context of the modular structure of the correlation group. For example, if the data words are normalized by the r value, then for the case of r=2 (e.g., polar codes), the result is:

[0099] (0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1) / 2 = (0,0,0,0,0,0,0,1 / 2,0,1 / 2,1 / 2,1 / 2,1 / 2,1 / 2,1 / 2,1 / 2). For r = 4, the result of normalization by r is:

[0100] (0,0,0,0,0,0,0,2,0,0,2,0,1,1,1) / 4=(0,0,0,0,0,0,0,0,1 / 2,0,0,1 / 2,0,1 / 4,1 / 4,1 / 4). For r=8, the result of normalization by r is:

[0101] (0,0,0,0,0,0,0,4,0,0,0,4,0,2,2,2) / 8=(0,0,0,0,0,0,0,0,1 / 2,0,0,0,1 / 2,0,1 / 4,1 / 4,1 / 4). For r=16, the result of normalization by r is also:

[0102] (0,0,0,0,0,0,0,1 / 2,0,0,0,1 / 2,0,1 / 4,1 / 4,1 / 4),

[0103] This can indicate that when the 8th and 12th components are considered as rotations of a circle, they are multiples of half a turn (there can be 2 - no turn or half a turn). The 14th, 15th and 16th components can be multiples of a quarter turn (there can be 4 - no turn, quarter turn, half turn or three quarter turn).

[0104] This pattern can continue for larger r - doubling r can simply double the value in each component. Once the total power of the signal is normalized, in this example, there are effectively no new codes beyond r=4. As a result, in this example, the decoder (described below) can operate (e.g., decode) without receiving and / or using the actual value of r (e.g., the number of bits / bit length represented by r). More precisely, the decoder can (optionally only) operate based on an indication and / or configuration that r>4. Or, equivalently, if one takes the limit as r tends to infinity, but the throughput of the code (e.g., the number of valid data bits) remains constant, then the code is still well defined.

[0105] Decoder

[0106] In some embodiments, the above codes may be decoded using a generalization of successive cancellation, i.e., a successive cancellation (SC) decoder. Successive cancellation decoding may be performed in a manner similar to polar decoding, e.g., performing a depth-first tree search, provided that the correct likelihood information is used and the associated upper and lower functions for the decoder are obtained or approximated. Some options for correct likelihood information that may be used in the decoder include: 1) a complete list of probabilities that the received symbol is one of the elements of the Abelian group (see example below for clarification), 2) a discrete Fourier transform of the list of probabilities of the elements of the Abelian group, where the dimensionality of the Fourier transform is determined by the structure of the group and the modulation diagram, and 3) a list of log-likelihoods for each element of the Abelian group.

[0107] In some cases, successive cancellation can approach or achieve Shannon capacity, but may have speed limitations (e.g., due to large block sizes). In some embodiments, a decoder for polar codes (e.g., a polar decoder) may include an alternative and / or variant of a successive cancellation decoder. For example, a polar decoder may include a successive cancellation list (SCL) decoder, a cyclic redundancy check assisted SCL (CA-SCL) decoder, a belief propagation (BP) decoder, a successive cancellation flip (SC-Flip and / or SCF) decoder, a cyclic redundancy check assisted successive cancellation flip (CA-SCF) decoder, a simplified successive cancellation (simplified-SC and / or S-SC) decoder, a simplified-SCL (S-SCL) decoder, a simplified CA-SCL (S-CA-SCL) decoder, a simplified BP (S-BP) decoder, a simplified SCF (S-SCF) decoder, a simplified CA-SCF (S-CA-SCF) decoder, a decoder based on a successive cancellation (SC) stack, etc. In some embodiments, the decoder may include, for example, a convolutional decoder, a tropical decoder, a truncated encoder, a Fourier transform-based decoder, etc.

[0108] An example derivation of the upper and lower bound functions for a decoder is as follows: Assume that the encoded pair The receiver receives the information of the estimate (a+b, b). Assume that the elements g1,...,g N has been enumerated. Let the first received symbol be g i The probability is q i , let the second received symbol be g i The probability is q i , where i∈{1, 2, ..., N}. These q i The term can be estimated using a probability distribution function for noise or via some approximation technique. Then, since a = (a + b) - b, the first symbol can be estimated by subtracting the second symbol from the first symbol. The probability distribution of the difference between random variables is obtained by the convolution of the probabilities. Therefore, the estimate of the upper limit value can be written as the convolution of two lists of probabilities. By performing component-wise multiplication, the list of probabilities can be discrete Fourier transformed. Similarly, given a list of probabilities (p i ) and (q i ) and the original upper limit value ɑ Two estimates of the probability list for the second (lower bound) element can be obtained: 1)(q i ), and 2)(p i ), using b = (ɑ + b) - ɑ and (p i ) estimates ɑ+b and Factual basis for estimating ɑ The two estimates of the lower bound entry can then be combined using one or more of the following: component-wise multiplication, renormalization, averaging, etc.

[0109] As an example, consider choosing the Abelian group to be In the case of , the block size is 16 and the coding rate is Assume that the message consists of the following 16 bits: 1110000100110011. Applying the inverse Gray coding diagram to the 16 bits results in Any ±1 error in is a 1-bit error, and the first bit sequence 1011000100100010 is obtained. The reliability sequence (16,16,15,15,14,14,12,12,8,8,13,11,13,10,7,11,6,10,7,4,6,4,9,5,9,3,5,2,3,2,1,1) obtained by the modified beta expansion method can then be used to generate the second bit sequence 00000000000010000000000110001110. Read each bit pair as an integer mod 4, and you get (0,0,0,0,0,0,2,0,0,0,0,1,2,0,3,2). Next, by applying The generator matrix with addition in , we get the codeword: (2,3,0,3,1,2,3,2,0,3,2,3,3,2,1,2). Next, by mapping Modulation is performed in each component to obtain I / Q values ​​(0.5, 1.5, -1.5, 1.5, -0.5, 0.5, 1.5, 0.5, -1.5, 1.5, 0.5, 1.5, 1.5, 0.5, -0.5, 0.5), which determines the signal to be transmitted. The receiver then obtains a noise estimate for this I / Q data, such as (0.555322, 1.40993, -1.40617, 1.46, -0.524643, 0.588575, 1.12172, 0.35792, -1.74141, 1.73477, 0.5133, 1.35511, 1.34006, 0.606838, -0.489466, 0.558253), and for each value calculates the probability of each symbol being transmitted:

[0110]

[0111] These calculated / identified probabilities can be represented as data structures and / or data types.(One or more) data structures and / or(one or more) data types can include, for example, probability mass functions, probability distribution functions, likelihood ratios, log likelihood ratios, matrices, etc., and / or are associated with them. The probability associated with a probability mass function (PMF) can include, for example, the probability associated with each of the r possible outputs of a channel. Using a probability density function (PDF) to represent a probability can include, for example, using a parameterized PDF to represent the probability density of (one or more) channel outputs. Likelihood ratios (LRs) can include, for example, the ratio of a probability to a given probability (e.g., the likelihood ratio between each of the r probabilities and the zero probability, the likelihood ratio between each of the r probabilities and the probability of receiving the maximum likelihood value, etc.). Log likelihood ratios (LLRs) can include the result of taking the logarithm (e.g., natural logarithm) of the likelihood ratio. In some embodiments, the values ​​associated with PMFs, PDFs, LRs, LLRs, etc. can be truncated so that the maximum value is stored and used for memory and / or space efficient decoders.

[0112] In some embodiments, the selection of decoder type may depend on the probability representation described above. For example, the upper limit function for PMF, PDF and / or LR methods may include convolution, and the lower limit function for these methods may include Hadamard product. In some embodiments, convolution may be performed in the Fourier domain using a fast Fourier transform (FFT), which may convert the probability value into a simple Hadamard product. For LLR methods, tropical geometry following LogSumExp (e.g., RealSoftMax) approximation may be used.

[0113] Next, using successive cancellations with appropriate convolution-based ceiling and floor functions, the matrix (7) decodes to (0,0,0,0,0,0,0,2,0,0,0,0,0,1,2,0,3,2), which is converted back to bits and only the non-zero data entries are read, i.e., 1011000100100010. Inverting the Gray code diagram then returns 1110000100110011, as expected. The inventors are not aware of any known demonstration in the literature of how to actually decode the types of codes discussed above.

[0114] The embodiments described herein include a method for encoding data bits into A method of using an index value in (referred to herein as "rit"), modulating (one or more) rit into a lattice group, converting the lattice points into baseband I / Q, actually sending the I / Q through a communication channel, and then decoding it. Alternatively or additionally, in some embodiments, the coding rate is changed by partial freezing, thereby reducing the order of the effective constellation to a subgroup of the original group. Alternatively or additionally, in some embodiments, the method for decoding data transmission includes using a generalized successive cancellation decoder, or a generalization of a more complex class of polarization decoders (e.g., CRC-assisted, list decoding, systematic code, etc.). The codes described herein can be systematized in a manner similar to polar codes by using the inverse of the generator matrix. The systematic code can include, for example, codewords in which the original data is directly included in the codeword. In other words, the systematic code can include an error correction code in which the input data (e.g., multiple binary strings) is embedded in the output of the code. The systematic code can reduce processing time because parity data (e.g., at least one check bit / parity bit) can be attached to the source block and / or the receiver does not need to recover the original source symbol if it is received correctly. For example, if at least one check bit does not indicate an error, the receiver may forward the received signal without decoding the signal.

[0115] In some embodiments, a method includes encoding data based on elements of an Abelian group, freezing subgroup cosets, mapping from bits to group elements, lattice modulation, decoding, and freezing indexing by freezing bit portions.

[0116] The "Bit-to-Symbol Mapping with Standard Integer Lattice" section above shows how to actually encode data bits into a generalized integer lattice, for example, to emulate standard QAM, while the "Bit-to-Symbol Mapping with Arbitrary Lattice" section above shows how to use a more general group of lattices to achieve the same purpose. Some embodiments described herein facilitate the selection of a dense lattice as the Abelian group into which user data can be mapped and on which generalized polar codes can be implemented, resulting in significant benefits over known communication systems and facilitating higher throughput with lower energy and fewer errors. When this work is combined with the bit-to-symbol mapping described herein, the benefits that can be achieved are enormous.

[0117] In some embodiments, the coding rate is adjusted by mapping the subgroups to the actual communication system, for example by transforming the subgroups into transmittable constellation points while reducing the constellation order by reducing the code ratio.

[0118] like Figure 2As shown in , method 200 includes receiving a bit string at a processor at 202, and performing error correction by identifying a set of binary strings based on the bit string at 204. At 206, method 200 includes mapping each binary string in a plurality of binary strings to a first Abelian group element (e.g., rit) in a plurality of first Abelian group elements, and at 208, applying a generalization of the polar code to the plurality of first Abelian group elements to produce a plurality of second Abelian group elements (e.g., rit after partial freezing). At 210, each second Abelian group element is mapped to an I / Q point in a plurality of I / Q points (e.g., constellation) in a manner that respects the natural geometry of the underlying group. In other words, there is a quasi-isometric embedding of an Abelian group with a natural word metric determined by a standard basis into an open subset of an I / Q space with a Euclidean metric. The plurality of I / Q points may be from a lattice-based signal constellation, a conventional quadrature amplitude modulation (QAM), or any other I / Q constellation. Based on the mapping and / or based on the I / Q constellation, a real-valued point in a set of constellation points is identified at 212, wherein each real-valued point represents an I / Q point. A signal is transmitted at 214, the signal having a modulation based on the real-valued point.

[0119] In some embodiments, the plurality of I / Q points are signal constellations based on a lattice. In other embodiments, the modulation is quadrature amplitude modulation (QAM). In some embodiments, the real-valued points represent in-phase / quadrature (I / Q) points or components. In some embodiments, the method (e.g., method 200) may further include applying at least one of a permutation or a bijection to each of the plurality of binary strings before performing a mapping of the second Abelian group element to the plurality of I / Q points. In some embodiments, at least one of the permutations or bijections may include at least one of a Gray code or an inverse Gray code. In some embodiments, a generalization of the polar code may include a systematic code. In some embodiments, a plurality of first Abelian group elements may be associated with a first bit length, and a plurality of second Abelian group elements may be associated with a second bit length.

[0120] In some embodiments, the plurality of I / Q points is a lattice-based signal constellation, and the medium further stores instructions that cause the processor to reduce the order of an effective constellation associated with the lattice-based signal constellation to a subgroup using partial freezing of at least one of the plurality of binary strings.

[0121] like Figure 3As shown in , in some embodiments, method 300 includes encoding a plurality of data bits as an index value in a plurality of index values ​​in Λ / rΛ, where Λ is a lattice and r is the number of bits in the plurality of data bits (e.g., r=2 or r>2) at 302. Modulating the plurality of index values ​​into a plurality of lattice points of a lattice group at 304. Converting each of the plurality of lattice points into a baseband in-phase / quadrature (I / Q) point in a plurality of in-phase / quadrature (I / Q) points at 306. Method 300 also includes causing transmission of a signal having a modulation based on the plurality of I / Q points at 308.

[0122] In some embodiments, the decoder can be configured to decode the signal based on the indication that the number of bits is greater than a minimum value and does not receive the number of bits. In some embodiments, the number of bits can be associated with a continuous limit and / or can be arbitrarily large. In some embodiments, the index value can be associated with an Abelian group element. In some embodiments, each bit in a subset of bits from a plurality of data bits can be associated with a data position in a plurality of data positions, and a subset of data bits can be selected from a plurality of bits based on an indication of a channel capacity. In some embodiments, the modulation can be a quadrature amplitude modulation (QAM).

[0123] like Figure 4 As shown in , in some embodiments, a signal decoding method 400 includes receiving a signal representing a plurality of symbols encoded at 402, each symbol in the plurality of symbols representing an encoded binary string in a plurality of binary strings, and each encoded binary string in the plurality of binary strings is encoded using a generalization of a polar code. The method 400 also includes identifying a data structure of transmission probabilities based on the plurality of symbols at 404, and decoding the signal using successive cancellation based on the data structure of transmission probabilities to identify the plurality of binary strings at 406. Optionally, decoding the signal at 406 may include inverting a Gray code diagram.

[0124] In some embodiments, at least one transmission probability may be associated with at least one of a probability mass function, a probability distribution function, a likelihood ratio, or a log likelihood ratio. In some embodiments, the decoder may include at least one of a convolutional decoder, a tropical decoder, a truncated decoder, or a Fourier transform-based decoder, and the decoder may be configured to decode a plurality of symbols without receiving an indication of a number of bits associated with each symbol. In some embodiments, the signal may include a plurality of binary representations. In some embodiments, the method 400 may further include forwarding the signal without decoding the signal based on at least one check bit and a representation of a plurality of binary strings.

[0125] Figure 5500 is a graph showing signal-to-noise ratio (in decibels dB) versus log10 (bit error rate (BER)) curves for a variety of different modulation schemes according to an embodiment. The x-axis of graph 500 represents a signal-to-noise ratio measurement (SNR and / or SNR per bit) in decibels (dB), which may include, for example, a ratio of the signal energy associated with each bit (or each user data bit) to the noise spectral density (e.g., noise power in a 1 Hz bandwidth). The y-axis of graph 500 represents the bit error rate (BER) (e.g., Log10 (BER)). The data represented in graph 500 includes (1) data associated with an uncoded 256-QAM scheme, (2) data associated with a standard polar code scheme (block size 64, rate 1 / 2) decoded with successive cancellation (SC), (3) data associated with r=16 Bombey code (block size 64, rate 1 / 2) decoded with successive cancellation, and (4) data associated with r=16 Bombey code (block size 64, rate 1 / 2) decoded with CA-SCL. The curves appearing toward the left in the graph are preferred because they represent modulation schemes that can achieve a given BER at a lower SNR than the modulation schemes of the curves appearing toward the right in the graph. As shown in graph 500, the data associated with the r=16 Bombey code with successive cancellation indicates a gain of 4 dB, which indicates that Bombey codes can produce improved bit error rate performance compared to, for example, polar codes. Furthermore, as shown in the data associated with r=16 Bombey code with CA-SCL decoding, methods that improve polar code schemes (e.g., by using CA-SCL decoding instead of successive cancellation decoding) can also improve Bombey code-based schemes.

[0126] Some embodiments of the present disclosure implement so-called "Bombey codes", which are defined as block codes and modulation schemes that use polar coordinate generating matrices to perform arithmetic operations on the Z-module structure of an Abelian group, as well as lattice modulation or mapping (which may include QAM, lattice constellations such as those described in U.S. Patent Application Publication No. US2023 / 0291632, etc.).

[0127] The embodiments of the various techniques described herein may be implemented in digital electronic circuit systems, or in computer hardware, firmware, software (executed or stored in hardware), or in a combination thereof. The embodiments may be implemented as a computer program product, i.e., a computer program tangibly implemented in, for example, a machine-readable storage device (computer-readable medium, non-transitory computer-readable storage medium, tangible computer-readable storage medium, etc.), for processing or controlling the operation of a data processing device (e.g., a programmable processor, a computer or multiple computers). Computer programs (such as the above-mentioned (one or more) computer programs) may be written in any form of programming language (including compiled languages ​​or interpreted languages) and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment. The computer program may be deployed to be processed on one computer or multiple computers at one site, or distributed on multiple sites and interconnected by a communication network.

[0128] The method steps may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. The method steps may also be performed by, and the apparatus may be implemented as, special purpose logic circuitry (e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit)).

[0129] For example, processors suitable for processing computer programs include general and special purpose microprocessors, and any one or more processors of any kind of digital computer. In general, the processor will receive instructions and data from a read-only memory or a random access memory or both. The elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. In general, a computer may also include one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks or optical disks, or be operatively coupled to receive data from or transfer data to one or more mass storage devices for storing data, or both. Information carriers suitable for implementing computer program instructions and data include all forms of non-volatile memory, including, for example, semiconductor memory devices, such as EPROM, EEPROM and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented or incorporated in them by a dedicated logic circuit system.

[0130] To provide interaction with a user, embodiments may be implemented on a computer having a display device (e.g., a liquid crystal display (LCD or LED) monitor, a touch screen display, for displaying information to a user) and a keyboard and pointing device (e.g., a mouse or trackball, through which a user can provide input to the computer). Other kinds of devices may also be used to provide interaction with a user; for example, feedback provided to a user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from a user may be received in any form, including acoustic, voice, or tactile input.

[0131] Embodiments may be implemented in a computing system that includes a back-end component (e.g., as a data server) or includes a middleware component (e.g., an application server) or includes a front-end component (e.g., a client computer with a graphical user interface or a web browser through which a user can interact with the embodiment), or any combination of such back-end, middleware, or front-end components. The components may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks (LANs) and wide area networks (WANs), such as the Internet.

[0132] Although certain features of the described embodiments have been described as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. Therefore, it should be understood that the appended claims are intended to cover all such modifications and changes that fall within the scope of the embodiments. It should be understood that they are presented only in an exemplary and non-limiting manner, and various changes in form and detail may be made. In addition to mutually exclusive combinations, any part of the apparatus and / or method described herein may be combined in any combination. The embodiments described herein may include various combinations and / or sub-combinations of the functions, components and / or features of the different embodiments described.

Claims

1. A non-transitory processor-readable medium storing instructions that, when executed by a processor, cause the processor to: Receive bit string; Error correction is performed in the following ways: identifying a plurality of binary strings based on the bit string, mapping each binary string of the plurality of binary strings to a first Abelian group element of a plurality of first Abelian group elements, applying a generalization of polar codes to the plurality of first Abelian group elements to generate a plurality of second Abelian group elements, Mapping each second Abelian group element of the plurality of second Abelian group elements to an in-phase / quadrature (I / Q) point of a plurality of I / Q points; as well as identifying a plurality of real-valued points based on the plurality of I / Q points, each real-valued point in the plurality of real-valued points representing an I / Q point in the plurality of I / Q points; as well as A signal having a modulation based on the plurality of real-valued points is caused to be transmitted.

2. The non-transitory processor-readable medium of claim 1, wherein the plurality of I / Q points are included in a lattice-based signal constellation.

3. The non-transitory processor-readable medium of claim 1, wherein the modulation is quadrature amplitude modulation (QAM).

4. The non-transitory processor-readable medium of claim 1 further storing instructions that cause the processor to apply at least one of a permutation or a bijection to each of the plurality of binary strings prior to performing the mapping of the second Abelian group elements to the plurality of I / Q points. 5 . The non-transitory processor-readable medium of claim 4 , wherein the at least one of a permutation or a bijection comprises at least one of a Gray code or an inverse Gray code.

6. The non-transitory processor-readable medium of claim 1 , wherein the plurality of I / Q points are a lattice-based signal constellation, the non-transitory processor-readable medium further storing instructions that cause a processor to reduce an order of an effective constellation associated with the lattice-based signal constellation to a subgroup using a partial freeze of at least one of the plurality of binary strings.

7. The non-transitory processor-readable medium of claim 1, wherein the generalization of polar codes comprises systematic codes.

8. The non-transitory processor-readable medium of claim 1, wherein the plurality of first Abelian group elements are associated with a first bit length, and the plurality of second Abelian group elements are associated with a second bit length different from the first bit length.

9. A method comprising: encoding, via a first processor, a plurality of data bits into index values ​​included within a plurality of index values ​​in Λ / rΛ, where Λ is a lattice and r is a number of bits in the plurality of data bits; modulating the plurality of index values ​​into a plurality of lattice points of a lattice group via a first processor; converting, via a first processor, each of the plurality of lattice points into a baseband in-phase / quadrature (I / Q) point from a plurality of I / Q points; A signal is caused to be transmitted via the first processor, the signal having modulation based on a plurality of I / Q points and having a demodulated component to be decoded at the second processor using a decoder to generate the plurality of data bits after receipt of the demodulated component at the second processor.

10. The method of claim 9, wherein the decoder is configured to decode the signal based on the number of bits being greater than a minimum value and without receiving an indication of the number of bits. The method of claim 10 , wherein the number of bits is associated with a continuous limit.

12. The method of claim 9, wherein the index value is associated with an Abelian group element.

13. The method of claim 9, wherein: Each bit in the subset of bits from the plurality of data bits is associated with a data location in a plurality of data locations; and The subset of data bits is selected from the plurality of bits based on an indication of a channel capacity.

14. The method of claim 9, wherein the modulation is quadrature amplitude modulation (QAM).

15. A non-transitory processor-readable medium storing instructions that, when executed by a processor, cause the processor to: receiving a signal encoding a plurality of symbols, each symbol of the plurality of symbols representing a binary string of a plurality of binary strings, each binary string of the plurality of binary strings being encoded using a generalization of a polar code; identifying a data structure representing at least one transmission probability based on the plurality of symbols; as well as The signal is decoded using a decoder based on the data structure to identify the plurality of binary strings.

16. The non-transitory processor-readable medium of claim 15, wherein the instructions to decode the signal include instructions to invert a Gray code pattern.

17. The non-transitory processor-readable medium of claim 15, wherein the at least one transmission probability is associated with at least one of a probability mass function, a probability distribution function, a likelihood ratio, or a log likelihood ratio.

18. The non-transitory processor-readable medium of claim 15, wherein: The decoder comprises at least one of a convolutional decoder, a tropical decoder, a truncated decoder, or a Fourier transform-based decoder; as well as The decoder is configured to decode the plurality of symbols without receiving an indication of a number of bits associated with each symbol.

19. The non-transitory processor-readable medium of claim 15, wherein the signal comprises representations of the plurality of binary strings.

20. The non-transitory processor-readable medium of claim 19, further storing instructions that, when executed by a processor, cause the processor to forward a signal without decoding the signal based on at least one check bit and the representation of the plurality of binary strings.

Citation Information

Patent Citations

  • Methods and apparatus for signal modulation using lattice-based signal constellations

    US20230291632A1