Approximate enumerative sphere shaping
10523474 ยท 2019-12-31
Assignee
Inventors
- Yunus Can Gultekin (Eindhoven, NL)
- Wim van Houtum (Sint-oedenrode, NL)
- Frans M. J. Willems (Geldrop, NL)
- Semih Serbetli (Eindhoven, NL)
Cpc classification
H04L25/03178
ELECTRICITY
Y02D30/70
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
H04B1/10
ELECTRICITY
H04L25/03
ELECTRICITY
Abstract
Certain aspects of the disclosure are directed to a method for communicating data from a transmitting circuit to a receiving circuit over a noisy channel. The method can be performed by logic circuitry, and can include encoding data, for transmission over the noisy channel. The data can be encoded, 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 can also include 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.
Claims
1. A method for communicating data from a transmitting circuit to a receiving circuit over a noisy channel, the method performed by logic circuitry and comprising: 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, wherein 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; 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.
2. The method of claim 1, wherein 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.
3. The method of claim 1, wherein the step of decoding 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.
4. The method of claim 1, wherein 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.
5. The method of claim 1, further including using a sliding-window coding algorithm based on the nonlinear-estimation process.
6. The method of claim 1, wherein the step of encoding includes using a sliding-window algorithm based on the nonlinear-estimation process.
7. The method of claim 1, wherein the step of decoding includes using a sliding-window algorithm based on the nonlinear-estimation process.
8. The method of claim 1, wherein the step of encoding includes using a sliding-window algorithm based on the nonlinear-estimation process, and the step of decoding includes using a sliding-window algorithm based on the nonlinear-estimation process.
9. A communications system including transmitting circuitry and receiving circuitry, the transmitting circuitry and the receiving circuitry being cooperatively programmed to perform the method of claim 1.
10. For use in a communications system having a transmitting circuit and a receiving circuit, a method for communicating data for transmission from the transmitting circuit and over a noisy channel for reception and decoding by the receiving circuit, the method performed by logic circuitry and comprising: 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; and wherein the bounded-energy sequence of amplitude values is selected by computing and storing a plurality of channel-related energy constraints based on use of a nonlinear-estimation process, and wherein 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.
11. A transmitter programmed to perform the method of claim 10.
12. The method of claim 10, further including using a sliding-window coding algorithm based on the nonlinear-estimation process.
13. The method of claim 10, wherein the step of encoding includes using a sliding-window algorithm based on the nonlinear-estimation process.
14. A method for communicating data from a transmitting circuit to a receiving circuit over a noisy channel, the method performed by logic circuitry and comprising: 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, wherein 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; 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.
15. The method of claim 14, wherein 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.
16. The method of claim 14, wherein the step of decoding 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.
17. The method of claim 14, further including using a sliding-window coding algorithm based on the nonlinear-estimation process.
18. The method of claim 14, wherein the step of encoding includes using a sliding-window algorithm based on the nonlinear-estimation process.
19. The method of claim 14, wherein the step of decoding includes using a sliding-window algorithm based on the nonlinear-estimation process.
20. The method of claim 14, wherein the step of encoding includes using a sliding-window algorithm based on the nonlinear-estimation process, and the step of decoding includes using a sliding-window algorithm based on the nonlinear-estimation process.
Description
BRIEF DESCRIPTION OF FIGURES
(1) Various example embodiments may be more completely understood in consideration of the following detailed description in connection with the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6) 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.
DETAILED DESCRIPTION
(7) 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.
(8) 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.
(9) Consider transmission of N-dimensional vectors x.sup.N 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.
(10) 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
(11) 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.
(12)
(13) 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
(14)
(15) 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
(16)
for all a.sup.NS. Aspects of the present disclosure are directed toward finding a one-to-one mapping from the index set I=[0, S) to S. Assuming lexicographical ordering, the enumerative approach is to derive (in an efficient way) from a sequence its index, i.e., the number of sequences in S, which are smaller in the lexicographical ordering. Moreover an efficient reverse operation should be specified. Since S is quite large in general, using a lookup table is infeasible. Enumerative sphere shaping in accordance with the present disclosure provides efficient recursive shaping and deshaping algorithms to reduce the memory and number of computations.
(17) 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.
(18) To find amplitude sequences a.sup.N with e(a.sup.N)E.sub.max, a bounded-energy trellis is constructed. As an example, as illustrated in
(19) In this trellis, nodes in column n, represent the accumulated energy
(20)
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 aA. Each path starting in the zero-energy node (in column 0) and ending in a final node represents an energy-bounded N-sequence.
(21) 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 T.sub.n.sup.e. Thus T.sub.0.sup.0 indicates the total number of sequences represented in the trellis. The information rate R corresponding to the trellis can be computed as
(22)
in bits per dimension. For this example R=1.06.
(23) The numbers T.sub.n.sup.e in the trellis for n=0, 1, . . . , N1 and eE.sub.max can be computed in a recursive manner as in equation (1) below:
T.sub.n.sup.e.sub.aA:e+a.sub.
where the initialization is:
(24)
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 E.sub.max. The maximum energy can be written as E.sub.max=N+8(L1) 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.
(25) 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).
(26) 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 0I<T.sub.0.sup.0, the algorithm is initialized by setting the local index I.sub.1=I. Then for n=1, 2, . . . , N: 1) Take a.sub.n be such that)
.sub.a<a.sub.
I.sub.n+1=I.sub.n.sub.a<a.sub.
Finally output a.sup.N.
(27) Deshaping finds the lexicographical index J of an amplitude-sequence a.sup.N. 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 J.sub.N+1=0. 2) For n=N, N1, . . . , 1, update the local index as:
J.sub.n=.sub.a<a.sub.
(28) 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.
(29) For instance, to decrease the amount of memory needed to store the trellis, a base-2 representation T.sub.n.sup.e=m.Math.b 2.sup.p may be used. This is a finite-precision notation where m and p are called the mantissa and power respectively, and are represented using n.sub.m and n.sub.p bits. Based on this representation, the enumerative trellis can be computed as:
T.sub.n.sup.e.sub.aA:e+a.sub.
where xn.sub.m means rounding x down to n.sub.m bits, so that x can be represented with a mantissa of n.sub.m 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) (n.sub.m+n.sub.p) which is now linear in N.
(30) 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.sub.n.sup.e.sub.aA:e+a.sub.
The proof will consist of two steps, a lemma, and a theorem. Lemma 1 is expressed as: if 0I.sub.n<T.sub.n1.sup.e(a.sup.
(31)
therefore, algorithm 1 will always find an a.sub.n that satisfies equation (3). From equations (3) and (4) it is then determined that:
(32)
Algorithms 1 and 2 guarantee that a local index 0I.sub.n<T.sub.n1.sup.e(a.sup.
(33) The proof is by induction. First consider the state (N1, e(a.sup.N1)) at depth N1. The states at depth N to which this state is connected are final states. There are at least T.sub.N1.sup.e(a.sup.
(34)
(35) 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.
(36) 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.sub.n.sup.e=.sub.keM.sub.n/2.sup.kM.sub.n/2.sup.ek,(8)
where M.sub.1.sup.e can be determined from A. Note that for n=N the relevant e-value is E, and this leads to M.sub.N.sup.E.
(37) 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 I.sub.N(a.sup.N), the index pointing to the desired sequence in the selected shell. The D&C shaping algorithm can be expressed as follows:
(38) For n=N, N/2, . . . , 4:
(39) 1) The energy e.sub.1 of the first half a.sub.1.sup.n of a.sup.n (and consequently the energy e.sub.2 of the second half a.sub.2.sup.n) is determined by taking
.sub.k<e.sub.
and then setting e.sub.2=e(a.sup.n)e.sub.1.
(40) 2) First, residual offset D.sub.s follows from:
D.sub.s=I.sub.n(a.sup.n).sub.k<e.sub.
(41) and then the local offsets
(42)
(43)
(44) are computed.
(45) 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.
(46) As discussed above, deshaping finds the lexicographical index J of an amplitude-sequence a.sup.N. 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 J.sub.N+1=0. 2) For n=N, N1, . . . , 1, update the local index as:
J.sub.n=.sub.a<a.sub.
(47) 3) Finally output J=J.sub.1.
(48) Similar to shaping, at most (|A|1) additions per dimension are helpful for deshaping which upper bounds the number of computations by (|A|1) N R bit operations per dimension. Both for shaping and for deshaping, the trellis T.sub.n.sup.e, is be computed and stored for n=0, 1, N and relevant values of e.
(49) 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 J.sub.N (a.sup.n) 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:
(50) Note that J.sub.1(a.sub.1.sup.2)=J.sub.1(a.sub.2.sup.2)=0. Now, for n=2, 4, . . . , N
(51)
(52) Reproducibility based on Algorithms 3 and 4 is guaranteed if the trellis equation (8) is relaxed to:
M.sub.n.sup.e=.sub.keM.sub.n/2.sup.kM.sub.n/2.sup.ek.sub.n.sub.
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)(n.sub.m+n.sub.p) bits.
(53) The proof again consist of two steps, a lemma, and a theorem. Lemma 2 is expressed as: if 0I.sub.n (a.sup.n)<M.sub.n.sup.e(a.sup.
(54)
therefore algorithm 3 will always find an e.sub.1 that satisfies equation (9). From equations (9) and (10) it is found that:
(55)
From equations (11a) and (11b), using e.sub.2=e(a.sup.n)e.sub.1, it is found that:
(56)
(57) The D&C shaping and deshaping algorithms guarantee that a local offset 0I.sub.n (a.sup.n)<M.sub.n.sup.e(a.sup.
(58)
(59)
(60) In bounded precision enumerative trellises, {tilde over (T)}.sub.n.sup.eT.sub.n.sup.e(1).sup.(Nn) for n=0, 1, . . . , N where {tilde over (T)}.sub.n.sup.e denotes the trellis computed with bounded precision. The proof is by induction. First consider n=N. Since {tilde over (T)}.sub.N.sup.e=1 for eE.sub.max, {tilde over (T)}.sub.N.sup.e=T.sub.N.sup.e. Next focus on depth n for n<N. The induction hypothesis tells that {tilde over (T)}.sub.n+1.sup.eT.sub.n+1.sup.e(1).sup.(N(n+1)). From equation (6), the following is obtained:
{tilde over (T)}.sub.n.sup.e={tilde over (T)}.sub.n+1.sup.e+a.sup.
(1)(1).sup.(Nn1)T.sub.n+1.sup.e+a.sup.
=(1).sup.(Nn)T.sub.n.sup.e.
Then the rate loss of an enumerative trellis can be upper bounded by log.sub.2(T.sub.0.sup.0/{tilde over (T)}.sub.0.sup.0)/Nlog.sub.2(1) bits per dimension.
(61) In bounded precision D&C trellises, {tilde over (M)}.sub.N.sup.eM.sub.N.sup.e(1).sup.(n1) for n=1, 2, 4, . . . , N where {tilde over (M)}.sub.n.sup.e denotes the trellis computed with bounded precision. The proof is by induction. First consider n=1. By definition, M.sub.1.sup.e=1 for e{1, 9, . . . , (2|A|1).sup.2}. Thus, {tilde over (M)}.sub.1.sup.e=M.sub.1.sup.e. Next focus on depth n for n{2, 4, . . . , N}. The induction hypothesis tells that M.sub.n/2.sup.eM.sub.n/2.sup.e(1).sup.(n/21). Consider from equation (13) that:
(62)
(63) Then the rate loss of a D&C trellis can be upper bounded by log.sub.2(M.sub.N.sup.e/{tilde over (M)}.sub.N.sup.e)/Nlog.sub.2(1) bits per dimension. Rate losses induced by bounded precision and the upper bound are shown in
More Detailed and/or Experimental Embodiments
(64) Consistent with the above-characterized embodiments, various other embodiments are contemplated. Consider the enumerative trellis for an as a matrix of size LN 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 1s, 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).
(65) 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 n.sub.m 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 n.sub.m. 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.
(66) Assuming that we compute the number in a node, throw away the bits after the first n.sub.m 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 n.sub.m. Since by throwing away some bits (while keeping the number of them) the numbers decrease, this corresponds to a rate loss.
Additional Detailed and/or Experimental Embodiments
(67) 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 (n1) component the same but are lexicographically smaller. The number of subtractions per dimension is therefore limited by (A1) 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.
(68) Bounded precision ensures that only the first n.sub.m bits of each subtrahend will effect the result, since the remaining n.sub.e 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 n.sub.e bits to the left, the operation can be implemented by a n.sub.m-bit subtraction.
(69) 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, n.sub.m-bit subtractions are realized locally on the input stream. This is referred to herein as sliding window shaping for which an example follows.
(70) Consider the bounded precision trellis T.sub.n.sup.e given in equation (1) for A={1, 3, 5}, n.sub.m=4, N=6 and L=6 (e.g., E.sub.max=46). The number of sequences is T.sub.0.sup.0=(1001, 4) which is 144 in decimal.sup.2. 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.
(71) The procedure starts with comparing I.sub.1=10001011 with n=(1010, 3). Only the 4-bit mantissa of T.sub.1.sup.1 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 I.sub.1>T.sub.1.sup.1, we subtract T.sub.1.sup.1 from I.sub.1 to find the auxiliary result I.sub.a=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 log.sub.2(A)-bits away in the index. Now we compare I.sub.a=00111011 with T.sub.1.sup.9=(1101, 2). Since I.sub.a>T.sub.1.sup.9, we subtract T.sub.1.sup.9 from I.sub.a to find I.sub.a=00000111. Finally, we compare I.sub.a with T.sub.1.sup.25 and see that I.sub.a<T.sub.1.sup.25, and output x.sub.1=5 since we are in the 3rd connection which corresponds to the amplitude 5. Setting I.sub.2 to I.sub.a, we repeat the same procedure for n=2 with I.sub.2=00000111. With the trellis construction explained above, the numbers T.sub.n.sup.e satisfy the following conditions:
T.sub.n.sup.eT.sub.n.sup.e,
T.sub.n.sup.e.sub.kT.sub.n+1.sup.e+(a.sup.
for e<e. Therefore, T.sub.n.sup.eAT.sub.n+1.sup.e+1 which implies that T.sub.n.sup.e can be at most log.sub.2(A) bits longer than T.sub.n+1.sup.e+1. Using the Lemma 1 discussed above, we see that I.sub.n is at most log.sub.2(A)-bits longer than T.sub.n.sup.e, which shows that during sliding, the operations can be implemented locally with bounded precision.
(72) 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.
(73) 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
(74) 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