Aspects of various embodiments are directed to approximate enumerative sphere shaping in data communications systems. Transmitters for wireless networks modulate carrier signals to encode information into a transmitted signal. Transmitters configured to operate in accordance with the 802.11x family of standards employ Gray-coded 22m-QAM (quadrature amplitude modulation) constellation mapping to encode information onto carrier signals.
A typical IEEE 802.11x transmitter comprises a convolution encoder, an interleaver, and a mapper. The encoder incorporates an error-correcting code into an input signal, the interleaver permutes the coded bits in a pre-determined way, and the mapper maps the interleaved bits to symbols in the constellation diagram for modulating the transmission signal.
A new standard, IEEE 802.11p, has recently been defined. This standard is designed for vehicular networks, where the density of users will be high. Consequently, it is desirable to reduce the transmit power of signals, to minimize interference in the dense user environment.
In conventional IEEE 802.11x transmitters, symbols are selected with equal probability from within a hypercube in a constellation diagram. Selecting symbols this way is not energy efficient, and transmission does not reach the channel capacity. For vehicle networks in particular, where the density of users is expected to be high, lower transmit power levels are required to reduce interference. The energy inefficient symbol selection of conventional IEEE 802.11x transmitters limits how low the transmit power can be. Shaping methods may be employed to select the amplitudes of the channel inputs, though implementing the shaping and deshaping algorithms requires a large amount of dedicated memory and a large number of computations in real time.
Various example embodiments are directed to issues such as those addressed above and/or others which may become apparent from the following disclosure concerning communicating data over a noisy channel. Particularly, enumerative amplitude shaping is proposed to gain from the shaping gap by decreasing the average required signal energy to achieve a certain rate. In its original form, implementing the enumerative amplitude trellis and shaping/deshaping operations require a large memory and computational power which makes is hard to implement in real time. The various embodiments described herein reduce the amount of memory and computations to implement sphere shaping and deshaping.
In a more specific example embodiment, communicating data from a transmitting circuit to a receiving circuit over a noisy channel is performed by logic circuitry. The method performed by logic circuitry includes encoding data, for transmission over the noisy channel, as a shaped-coded modulation signal by shaping the signal based on an amplitude selection algorithm that leads to a symmetrical input and by constructing a trellis having a bounded-energy sequence of amplitude values selected by computing and storing a plurality of channel-related energy constraints based on use of a nonlinear-estimation process, and therein providing an index for the bounded-energy sequence of amplitudes. The method further includes receiving over the noisy channel, the shaped-coded modulation signal, and decoding the data from the shaped-coded modulation signal by using the index to reconstruct the bounded-energy sequence of amplitudes.
In another specific example embodiment, a method for communicating data for transmission from a transmitting circuit and over a noisy channel for reception and decoding by a receiving circuit is described for use in a communications system having a transmitting circuit and a receiving circuit. The method includes encoding data, for transmission over the noisy channel, as a shaped-coded modulation signal by shaping the signal based on an amplitude selection algorithm that leads to a symmetrical input, and constructing a trellis having a bounded-energy sequence of amplitude values. In this exemplary embodiment, the bounded-energy sequence of amplitude values are selected by computing and storing a plurality of channel-related energy constraints based on use of a nonlinear-estimation process.
The above discussion/summary is not intended to describe each embodiment or every implementation of the present disclosure. The figures and detailed description that follow also exemplify various embodiments.
Various example embodiments may be more completely understood in consideration of the following detailed description in connection with the accompanying drawings, in which:
While various embodiments discussed herein are amenable to modifications and alternative forms, aspects thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to limit the disclosure to the particular embodiments described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the scope of the disclosure including aspects defined in the claims. In addition, the term “example” as used throughout this application is only by way of illustration, and not limitation.
Aspects of the present disclosure are believed to be applicable to a variety of different types of apparatuses, systems and methods involving enumerative amplitude shaping. Shaping refers to or includes optimization of a channel input with the purpose of closing the shaping gap. Most of the signal shaping methods require selection of points from an N-dimensional space, and therefore the fundamental bottleneck is the addressing complexity. Attempting to solve the addressing problem, enumerative techniques may be used in source coding, and also in shaping. As another example, shell mapping may be applied in the V.34 modem standard for N=16.
It can be shown that for an n-dimensional hypersphere, as n increases the distribution of the projection of the set of n-vectors along any axis converges to a zero-mean Gaussian distribution. Furthermore, it can be shown that the ratio of the average energy of the n-sphere to that of an n-cube having the same volume approximates 1.53 dB. Thus it is desirable to map the standard modulation points onto points on or within an n-dimensional hypersphere, yielding a Gaussian distributed channel input.
Consider transmission of N-dimensional vectors xN over an additive white Gaussian noise channel for which the capacity-achieving input distribution is Gaussian. The loss of mutual information of channel input X and output Y arising from using a uniform input distribution is called shaping gap and approaches 0.255 bits per dimension, asymptotically in block length N. This gap can also be seen as the increase in the average energy resulting from using a cubical signal structure instead of a spherical one, which is 1.53 dB asymptotically.
In accordance with the present disclosure, shaping refers to or includes a procedure to select the amplitudes of the channel inputs where the signs can be selected in any way that leads to a symmetrical input distribution, i.e., the signs are uniform. In particular, channel coding can be used for this purpose and completes the system which can be called shaped coded modulation of which a block diagram is provided in
Constant composition distribution matching (CCDM) may be employed as the shaping technique. CCDM represents amplitude sequences by intervals inspired by arithmetic data compression techniques. These sequences realize a fixed composition, i.e., the frequencies of the amplitudes are constant for all sequences leading to a constant composition. This method attains the capacity asymptotically in block length N. However, using all the points inside an N-sphere is more efficient for short block lengths. As an example, motivated by the number of subcarriers in the IEEE 802.11 system, N=96 may be used, and for rate R=1:75 bits per dimension that there is 0.64 dB gain of N-sphere shaping over CCDM.
At the receiver 103, the channel output is first quantized, using a bank of N scalar quantizers 111, to the nearest point on the cubic lattice. This will give back the transmitted constellation point (assuming channel noise does into cause an error) which is converted to an Nr-bit block using the corresponding decoder map 109. In essence, the receiver 103 performs the reverse of the operations performed by the transmitter 101. The receiver ‘de-shapes’ the received signal, to extract the original data input into the transmitter. The receiver may particularly be an IEEE 802.11x receiver, or an IEEE 802.11p receiver, and may be configured to receive signals transmitted by a transmitter. As discussed further with regards to
In example embodiments, a method for communicating data from a transmitting circuit to a receiving circuit over a noisy channel is performed by logic circuitry on a transmitter 201 and/or a receiver 203, illustrated in
The logic circuitry can encode the data by shaping the signal based on an amplitude selection algorithm that leads to a symmetrical input, at 225, and by constructing a trellis having a bounded-energy sequence of amplitude values, at 227. The bounded-energy sequence of amplitudes can be selected by computing and storing a plurality of channel-related energy constraints based on use of a nonlinear-estimation process at 229. The logic circuitry can provide an index for the bounded-energy sequence of amplitudes.
To find amplitude sequences aN with e(aN)≤Emax, a bounded-energy trellis is constructed. As an example, as illustrated in
In this trellis, nodes in column n, represent the accumulated energy e=Σi=1nan2, which is indicated in the bottom of each respective number pair. Therefore (n, e) can be used to pinpoint a specific node where n is the corresponding column (dimension) and e the energy. The nodes in the rightmost column, column N, are called final states. Branches between states are labeled with amplitudes a∈A. Each path starting in the zero-energy node (in column 0) and ending in a final node represents an energy-bounded N-sequence.
The number written in the top of each respective number pair (n, e) is the number of possible ways to reach a final node starting from that node, and is denoted by Tne. Thus T00 indicates the total number of sequences represented in the trellis. The information rate R corresponding to the trellis can be computed as
in bits per dimension. For this example R=1.06.
The numbers Tne in the trellis for n=0, 1, . . . , N−1 and e≤Emax can be computed in a recursive manner as in equation (1) below:
T
n
e
Σa∈A:e+a
where the initialization is:
In the above, only states with energy levels that are possible are considered. Possible states in column n have energy level n plus a multiple of 8, not exceeding Emax. The maximum energy can be written as Emax=N+8×(L−1) where L is the number of possible energy values in each column of the trellis. Therefore the effective number of states is L(N+1). Since the numbers in the trellis can be up to ┌NR┐ bits long, the memory to store the trellis is upper bounded by L(N+1) ┌NR┐ bits.
The shaping operation maps ┌NR┐ bits (i.e., the base-2 representation of index I) to amplitude-sequences of length N which are ordered lexicographically assuming that 1<3< . . . <2|A|−1. An efficient way of implementing this, is formulated in an enumerative shaping algorithm (e.g., Algorithm 1).
The enumerative shaping algorithm (e.g., Algorithm 1) uses at most (|A|−1) subtractions per dimension which upper bounds the number of computations by (|A|−1)┌NR┐ bit operations per dimension. The amplitude selection algorithm used for shaping the signal (e.g., executed at 225) includes the following enumerative shaping algorithm. Given that 0≤I<T00, the algorithm is initialized by setting the local index I1=I. Then for n=1, 2, . . . , N:
Σa<a
I
n+1
=I
n−Σa<a
Finally output aN.
Deshaping finds the lexicographical index J of an amplitude-sequence aN. An efficient way of implementing this is formulated in the following enumerative deshaping (decoding) algorithm (e.g., Algorithm 2), below:
1) Initialize the algorithm by setting the local index JN+1=0.
2) For n=N, N−1, . . . , 1, update the local index as:
J
n=Σa<a
3) Finally output J=J1.
In some example embodiments, constructing the trellis includes storing only one column (or row) of the trellis, and storing and computing on-the-fly computation remainders ensuing from the nonlinear-estimation process for representing other parts of the trellis. Constructing the trellis includes storing less than all columns (or rows) of the trellis, and computing remainders ensuing from the nonlinear-estimation process for representing other parts of the trellis.
For instance, to decrease the amount of memory needed to store the trellis, a base-2 representation Tne=m·2p may be used. This is a finite-precision notation where m and p are called the mantissa and power respectively, and are represented using nm and np bits. Based on this representation, the enumerative trellis can be computed as:
T
n
e
└Σa∈A:e+a
where └x┘nm means rounding x down to nm bits, so that x can be represented with a mantissa of nm bits. The result is again stored in the form (m, p). In this way, the memory is decreased from L(N+1) ┌NR┐ bits to L(N+1) (nm+np) which is now linear in N.
The numbers in the trellis will become smaller by the rounding. In connection the efforts leading to the instant disclosure and embodiments, the inventors have surprisingly discovered that by using a nonlinear estimation method (e.g., rounding as discussed herein to save significantly on computations and memory space), the index that is input to the shaping algorithm leads to an energy-bounded sequence from which the deshaping algorithm can reconstruct the original index, using the rounded trellis. Reproducibility based on algorithm 1 and algorithm 2 is guaranteed if equation (1) is changed to:
T
n
e≤Σa∈A:e+a
The proof will consist of two steps, a lemma, and a theorem. Lemma 1 is expressed as: if 0≤In<Tn−1e(a
therefore, algorithm 1 will always find an an that satisfies equation (3). From equations (3) and (4) it is then determined that:
Algorithms 1 and 2 guarantee that a local index 0≤In<Tn−1e(a
The proof is by induction. First consider the state (N−1, e(aN−1)) at depth N−1. The states at depth N to which this state is connected are final states. There are at least TN−1e(a
In some example embodiments, the nonlinear-estimation process includes rounding down of a quantity of bits in respective computations developed while performing the computing of the plurality of channel-related energy constraints. A sliding-window coding algorithm based on the nonlinear-estimation process may be utilized. The step of encoding 231 includes using a sliding-window algorithm based on the nonlinear-estimation process.
Optimum shaping of multidimensional constellations is discussed, where N-sequences are ordered based on their energy. Sequences of the same energy, i.e., on the same N-dimensional shell, can then be addressed in two different enumerative manners. The first manner is similar to what is discussed above, but constrained on fixed energy sequences. The trellis structure illustrated in
M
n
e=Σk≤eMn/2kMn/2e−k, (8)
where M1e can be determined from A. Note that for n=N the relevant e-value is E, and this leads to MNE.
The shaping algorithm successively divides an n-dimensional problem into two n/2-dimensional problems. At the end, the 2-dimensional mapping can be realized. An efficient way of implementing this, is formulated in a D&C shaping algorithm (e.g., Algorithm 3). Starting from the index IN(aN), the index pointing to the desired sequence in the selected shell. The D&C shaping algorithm can be expressed as follows:
For n=N, N/2, . . . , 4:
1) The energy el of the first half a1n of an (and consequently the energy e2 of the second half a2n) is determined by taking
Σk<e
and then setting e2=e(an)−e1.
2) First, residual offset DS follows from:
D
s
=I
n(an)−Σk<e
and then the local offsets
are computed.
At 233, the logic circuitry (such as CPU 223) is configured and arranged to receiving over the noisy channel 207, the shaped-coded modulation signal, and decode the data from the shaped-coded modulation signal by using the index to reconstruct the bounded-energy sequence of amplitudes at 235. The step of decoding 235 includes using a sliding-window algorithm based on the nonlinear-estimation process. In some example embodiments, the step of decoding at 235 includes using an enumerative deshaping process in which a local index of the bounded-energy sequence of amplitudes is updated for each of n different energy levels, where n is an integer.
As discussed above, deshaping finds the lexicographical index J of an amplitude-sequence aN. An efficient way of implementing this is formulated in the following enumerative deshaping (decoding) algorithm (e.g., Algorithm 2), below:
1) Initialize the algorithm by setting the local index JN+1=0.
2) For n=N, N−1, . . . , 1, update the local index as:
J
n=Σa<a
3) Finally output J=J1.
Similar to shaping, at most (|A|−1) additions per dimension are helpful for deshaping which upper bounds the number of computations by (|A|−1)┌NR┐ bit operations per dimension. Both for shaping and for deshaping, the trellis Tne is be computed and stored for n=0, 1, . . . , N and relevant values of e.
As discussed above, a D&C shaping algorithm may be used. Similarly, a D&C deshaping algorithm may be used. The deshaping algorithm implements the inverse mapping by successively concatenating n/2-tuples to get n-tuples and computing their offsets. At n=N, the index JN(an) is computed using two depth N/2 offsets. An efficient way of implementing this is formulated in a D&C deshaping algorithm (e.g., Algorithm 4), below:
Reproducibility based on Algorithms 3 and 4 is guaranteed if the trellis equation (8) is relaxed to:
M
n
e=└Σk≤eMn/2kMn/2e−k┘n
which will be the case when the D&C trellis is computed with bounded precision. In this way, the memory will decrease from L(log 2(N)+1)┌NR┐ to L(log 2(N)+1)(nmn+np) bits.
The proof again consist of two steps, a lemma, and a theorem. Lemma 2 is expressed as: if 0≤In(an)<Mne(a
This implies that if 0≤IN (aN)<MNe(a
therefore algorithm 3 will always find an e1 that satisfies equation (9). From equations (9) and (10) it is found that:
From equations (11a) and (11b), using e2=e(an)−e1, it is found that:
The D&C shaping and deshaping algorithms guarantee that a local offset 0≤In(an)<Mne(a
The induction hypothesis now tells that in depth n=2, the corresponding sequences a1n and a2n will lead to local offsets Jn/2(a1n)=In/2(a1n) and Jn/2(a2n)=In/2(a2n). Therefore the sequence an=(a1n,a2n) by equation (12), and then by (10) and (11) leads to:
{tilde over (α)}≥(1−δ)α where δ=2−(n
In bounded precision enumerative trellises, {tilde over (T)}ne≥Tne(1−δ)(N−n) for n=0, 1, . . . , N where {tilde over (T)}ne denotes the trellis computed with bounded precision. The proof is by induction. First consider n=N. Since TNe=1 for e≤Emax, {tilde over (T)}Ne=TNe. Next focus on depth n for n<N. The induction hypothesis tells that {tilde over (T)}n+1e≥Tn+1e(1−δ)(N−(n+1)). From equation (6), the following is obtained:
Then the rate loss of an enumerative trellis can be upper bounded by log2(T00/{tilde over (T)}00)/N≤−log2(1−δ) bits per dimension.
In bounded precision D&C trellises, {tilde over (M)}Ne≥MNe(1−δ)(n−1) for n=1, 2, 4, . . . , N where {tilde over (M)}ne denotes the trellis computed with bounded precision. The proof is by induction. First consider n=1. By definition, M1e=1 for e∈{1, 9, . . . , (2|A|−1)2}. Thus, {tilde over (M)}1e=M1e. Next focus on depth n for n∈{2, 4, . . . , N}. The induction hypothesis tells that {tilde over (M)}n/2e≥Mn/2e(1−δ)(n/2−1). Consider from equation (13) that:
Then the rate loss of a D&C trellis can be upper bounded by log2(ΣMNe/Σ{tilde over (M)}Ne)/N≤−log2(1−δ) bits per dimension. Rate losses induced by bounded precision and the upper bound are shown in
Consistent with the above-characterized embodiments, various other embodiments are contemplated. Consider the enumerative trellis for an as a matrix of size L×N where: L is the number of energy levels (i.e., rows), and N is the number of dimensions (i.e., columns). This trellis is computed by first filling the last column with Is, and second filling the rest using the connections between the nodes and the numbers in the trellis, i.e., accumulating numbers through the trellis according to the connections. At the end, the number in a node in the trellis (matrix) represent the number of ways to terminate the trellis starting from that node (i.e., the number of sequences (paths) starting from that node).
Considering that the numbers in the trellis will be stored in the binary format as a string of bits, the inventors discovered that instead of storing these binary strings with full precision, i.e., storing each bit, only the first nm bits can be stored (first meaning the most significant). This means the number is reduced by the amount which was represented by the bits after the first nm. Thus the effective number of sequences (the ones that has the possibility to be outputted by the shaper) decreases. Some number of sequences are discarded since the number is not being stored completely.
Assuming that we compute the number in a node, throw away the bits after the first nm and proceed to the next node. Since numbers are computed in an accumulative way, the effect (i.e., the loss) grows as we travel through the trellis. The amount of this effect (loss) is inversely proportional to nm. Since by throwing away some bits (while keeping the number of them) the numbers decrease, this corresponds to a rate loss.
Consistent with the above-characterized embodiments, various other embodiments are contemplated with regards to sliding window shaping. The shaping operation discussed in the present disclosure include a procedure to gradually break up the index I down to zero. At each dimension n for n=1, 2, . . . , N, the index I is reduced by subtracting the number sequences having their first (n−1) component the same but are lexicographically smaller. The number of subtractions per dimension is therefore limited by (A−1) where A=|A| is the number of different amplitudes, i.e., the cardinality of the amplitude set A. In cases where enumerative trellis is computed using bounded precision (as described above), these operations can be implemented in a sliding manner.
Bounded precision ensures that only the first n, bits of each subtrahend will effect the result, since the remaining ne bits are zeros. Consider an index I which can be represented by └NR┘ bits where is the rate of the trellis. Given that the mantissa of a subtrahend is shifted by ne bits to the left, the operation can be implemented by a nm-bit subtraction.
Starting from the most significant end, the part of the input stream that the subtraction operates on slides gradually to the least significant end as n increases while the index diminishes. Therefore instead of implementing └NR┘-bit subtractions at each dimension, nm-bit subtractions are realized locally on the input stream. This is referred to herein as sliding window shaping for which an example follows.
Consider the bounded precision trellis Tne given in equation (1) for A={1, 3, 5}, nm=4, N=6 and L=6 (e.g., Emax=46). The number of sequences is T00=(1001, 4) which is 144 in decimal2. Thus the possible input index interval is [0, 144). Next, find the sequence corresponding to the index I=139 or equivalently the input bit stream 10001011.
The procedure starts with comparing I1=10001011 with T11=(1010, 3). Only the 4-bit mantissa of T11 is enough for comparison, therefore the operation concerns only the corresponding 4-bit part of the index. This corresponding part can be found by shifting the 4-bit mantissa to the left by 3 (since its exponent is 3). Since I1>T11, we subtract T11 from I1 to find the auxiliary result Ia=00111011. Observe that this subtraction operation is again local and 4-bits. Note that in case a borrow is needed, we know that the borrow will be at most log2(A)-bits away in the index. Now we compare Ia=00111011 with T19=(1101, 2). Since Ia>T19, we subtract T19 from Ia to find Ia=00000111. Finally, we compare Ia with T125 and see that Ia<T125, and output x1=5 since we are in the 3rd connection which corresponds to the amplitude 5. Setting I2 to Ia, we repeat the same procedure for n=2 with I2=00000111. With the trellis construction explained above, the numbers Tne satisfy the following conditions:
T
n
e
≤T
n
e′,
T
n
e≤ΣkTn+1e+(a
for e<e′. Therefore, Tne≤A×Tn+1e+1 which implies that Tne can be at most log2(A) bits longer than Tn+1e+1. Using the Lemma 1 discussed above, we see that In is at most log2(A)-bits longer than Tne, which shows that during sliding, the operations can be implemented locally with bounded precision.
Accordingly, in the following description various specific details are set forth to describe specific examples presented herein. It should be apparent to one skilled in the art, however, that one or more other examples and/or variations of these examples may be practiced without all the specific details given below. In other instances, well known features have not been described in detail so as not to obscure the description of the examples herein. For ease of illustration, the same reference numerals may be used in different diagrams to refer to the same elements or additional instances of the same element. Also, although aspects and features may in some cases be described in individual figures, it will be appreciated that features from one figure or embodiment can be combined with features of another figure or embodiment even though the combination is not explicitly shown or explicitly described as a combination.
The skilled artisan would recognize that various terminology as used in the Specification (including claims) connote a plain meaning in the art unless otherwise indicated. As examples, the Specification describes and/or illustrates aspects useful for implementing the claimed disclosure by way of various circuits or circuitry which may be illustrated as or using terms such as modules, device, system, unit, controller, and/or other circuit-type depictions (e.g., reference numerals 221 and 223 of
Based upon the above discussion and illustrations, those skilled in the art will readily recognize that various modifications and changes may be made to the various embodiments without strictly following the exemplary embodiments and applications illustrated and described herein. For example, methods as exemplified in the Figures may involve steps carried out in various orders, with one or more aspects of the embodiments herein retained, or may involve fewer or more steps. For instance, the system illustrated in