SYSTEM AND DEVICE FOR, AND METHOD OF, COMMUNICATING ACCORDING TO A COMPOSITE CODE
Cross-Reference to Related Applications This application is related to the following U.S. applications, all of which are owned by the same assignee and all of which are incorporated by reference in their entirety:
Device, System and Method for Spectrally Shaping Transmitted Data Signals, to Vedat Eyuboglu and Pierre Humblet, filed on October 15, 1996, Ser. No. 08/730,434;
Device, System and Method for Adaptive Self-Noise Cancellation for Decision-Directed Timing Recovery to Jian Yang, filed on October 15, 1996, Ser. No. 08/720,992;
System and Device for, and Method of, Detecting, Characterizing, and Mitigating Deterministic Distortion in a
Communication System, to Vedat Eyuboglu, Arthur Barabell, and Pierre Humblet, filed on October 15, 1996, Ser. No. 08/730,433; and
System and Device for, and Method of, Processing Baseband Signals to Combat ISI and Nonlinearities in a Communication System, to Pierre Humblet and Vedat Eyuboglu, filed on October 15, 1996, Ser. No. 08/720,988.
Background
1. Field of the Invention
The invention relates generally to communication systems and, more particularly, to communicating information using a new type of code called a composite code, for example, on a PCM modem connection using the public switched telephone network (PSTN).
2. Discussion of Related Art
There is an increasing demand for data communications and, in particular, for communication systems with increasingly higher transmission rates. With the advent of the Internet, this demand is expected to increase.
To date, the most popular form of data communications is accomplished using voiceband modems connected to local loops of a conventional PSTN. Voiceband modems are very popular largely because of their leverage of existing telephone network infrastructure. In short, a user needs to make only a relatively small investment for a modem and has to pay relatively modest line charges.
A conventional PSTN arrangement 100 is shown in Fig. 1. What are typically interpreted as analog signals enter and exit the network 100 at "local loops" 140 and 150. Each signal on loop 140 and 150 is received by a corresponding line interface 120 and 130, or local switch, and each line interface communicates with another via a backbone digital network 110. Under conventional operation, an information signal 175 is sent to a first site 170, which emits an analog signal, for example, representative of a voice signal or binary information, on the locai loop 140. The line interface 120 filters, samples, and quantizes the analog signal and outputs a sequence of octets 125, representative of the analog signal 140. The PCM quantization rules, used for the quantizing, are known and pre-specified, e.g., μ-law or A-law. (Appendix A lists the values for μ-law).
The backbone 110 receives the octet sequence 125 and transmits and routes the data to various line interfaces, e.g., 130. Eventually an octet sequence 125', which is similar but not necessarily identical to the original octet sequence 125, is transmitted to the line interface 130 corresponding to the destination site 160.
The line interface 130 essentially inverse quantizes and further processes the received octet sequence 125' to create on loop 150 an analog signal that is an "approximate representation" of the originally-transmitted signal 140. Signal 150 is then transmitted to the site 160, where it may be used to recreate a voice signal or the binary information.
To meet user demand for higher transmission rates, communication standards for voiceband modems have evolved with each generation including capabilities to support increasingly higher transmission rates. Current state-of-the-art voiceband modems attain transmission rates of about 30 kb/s, nearly the conventionally-accepted view of the telephone channel's capacity. Unfortunately, the rate of growth of the transmission rates of modems has slowed, but users still desire higher transmission rates. Consequently, users who want higher transmission rates are currently forced to use alternative technologies, such as ISDN connections into their homes and offices. Though these alternative arrangements provide higher transmission rates, the equipment and line charges are high.
Currently, various proposals have been made and communication standards are being pursued that promise higher transmission rates using the conventional PSTN. Hereinafter these proposed modems and
arrangements are called "PCM modems" and "PCM Modem arrangements."
Exemplary PCM modems and PCM modem arrangements are described in the related applications, identified and incorporated above. Referring to Fig. 2, in the PCM modem arrangement, the backbone 110, line interface 130, and computer 180, remain unchanged from the conventional components, outlined above. A first site 270, such as an Internet server site, communicates with a digital adapter 220, or digital modem, by sending signals over a high- speed link 240. The digital adapter 220 sends a sequence of octets 225 to backbone 110, which, in turn, sends a sequence of octets 225' to conventional line interface 130. Octets 225' may differ from octets 225 because of robbed bit signaling, for example. Line interface 130 then inverse quantizes octets 225' and transmits line interface signals on downstream, user-end loop 250. Analog adapter 260 (also known as PCM modem) receives the line interface signals and may, in turn, possibly equalize and sample the received signals, detect the binary information in the demodulated signal, and send the results to computer 180. A reverse path from analog adapter 260 to digital adapter 220 may be constructed using conventional modem techniques, for example, V.34 technology, or other technologies can be employed.
Though the conventional arrangement of Fig. 1 considers the operations of line interface 130 as inverse quantization, the PCM modem arrangement considers the same operations as a form of baseband modulation. That is, the line interface 130 produces a signal on the loop whose amplitude varies depending on the information received by the line interface. In this sense, the
modulation technique is akin to PAM, but unlike PAM, and as further described below, the signal constellation involved is unevenly- spaced. This uneven spacing is a consequence of the PCM quantization rules being non-linear. Possibly the most desirable feature of the PCM modem arrangement is that, unlike the conventional arrangement of Fig. 1 , the conventional local switch 120 is avoided and, therefore, its capacity-limiting, quantization noise is also avoided. Thus, higher transmission rates may be attainable. Under the paradigm of Fig. 2, a system is theoretically capable of transmitting data at rates of about 64,000 b/s, i.e., 8,000 octets per second, if noise and other distortion were not considered. To approach the 64,000 b/s rate, however, the baseband modulation would require a signal constellation using all of the quantization levels defined by the corresponding PCM quantization rules.
Unfortunately, if all levels were used the minimum distance dmin between levels is too small to be practical, (dmin is a known parameter for characterizing the performance of a signal constellations.) Those no serious proposals of PCM modems can attain 64,000 b/s in "real world" contexts having noisy local loops 250 and the like.
A subset of the μ-law or A-law quantization levels may be straightforwardly selected to create a signal constellation for an uncoded system that would avoid the smallest spacings and attain noise resistance improvements over the complete constellation. For example, if the objective is to send 56 kb/s, or 7 bits per signal point, then an uncoded constellation with 128 levels is required. It is straightforward to show that the maximum minimum distance that
can be achieved with a 128-point subconstellation of the μ-law constellation has dmin = 52. For example, the following set of 128 levels has dmin = 52.
Exemplary constellation for uncoded modulation
1 level at 30;
1 level at 85;
2 levels at 139 and 195; 4 levels evenly spaced with d = 64 between 247 and 439;
8 levels evenly spaced with d = 64 between 495 and 943;
16 levels evenly spaced with d = 64 between 1023 and 1983;
16 levels evenly spaced with d = 128 between 2079 and 3999;
16 levels evenly spaced with d = 256 between 4191 and 8031 ; and
64 negative levels have the same magnitude but opposite sign. This uncoded constellation with dmin = 52 will be used later for comparative purposes as a baseline system for a data rate of 56 kb/s. To date, nearly all of the proposals involve uncoded modulation.
With uncoded modulation, each transmitted signal level is detected independently of other signals at the receiver. The performance of an uncoded system is therefore governed by the minimum distance dmjn between the set of levels that may be transmitted. The set of levels that may be transmitted is the "signal constellation."
In conventional telephone-line modems, it has been found advantageous to use coded modulation, in a coded modulation system, dependencies are introduced between transmitted signal levels. Thus, a sequence of signals carries the information, rather than isolated
signals. Moreover, the dependencies are constructed such that the minimum Euclidean distance dmjn between sequences is greater than the minimum distance dmm within the signal constellation. At the receiver, a decoder such as the well-known Viterbi algorithm uses these dependencies in sequence decoding to achieve a "coding gain." For example, V.32 modems use a two-dimensional (2D) trellis code to achieve a coding gain of about 3.6 dB, and V.34 modems use one of three four-dimensional (4D) trellis codes to achieve a coding gain of from about 4.2 to 4.7 dB. (Trellis coding may be found in the literature, for example, Ezio BIGLIERI ET AL, INTRODUCTION TO TRELLIS- CODED MODULATION WITH APPLICATIONS (MacMillan 1991) and JOHN G. PROAKIS, DIGITAL COMMUNICATIONS 511-526 (McGraw Hill 1995).)
It is desirable to achieve similar coding gains by the use of coded modulation in PCM modems. However, known coding schemes such as the V.32 and V.34 trellis codes cannot be straightforwardly applied because the signal levels are restricted to the finite, nonuniform μ-law or A-law constellations.
Summary A method, adapters, and a system are provided for communicating information. A first set of signal points define a first subconstellation, and a second set of signal points define a second subconstellation, wherein the first subconstellation is characterized with a different minimum distance between adjacent signal points than the minimum distance for the second subconstellation. Information to be communicated is mapped to one of the first and second subconstellations. If the information maps to the first subconstellation, the information is transmitted according
to a first transmission scheme; and if the information maps to the second subconstellation, the information is transmitted according to a second transmission scheme.
Under one aspect of the invention, information mapped to the first constellation may be transmitted as coded information, for example, using a trellis code.
Under another aspect of the invention, information mapped to the second constellation may be transmitted as uncoded information. According to another aspect of the invention, the first and second signal constellation are constructed using signal points from PCM quantization rules for PSTNs. From the pre-specified constellation, at least two subconstellations are chosen. One, the "outer subconstellation," includes a subset of the PSTN quantization levels. At least one other "inner subconstellation" includes another subset of the PSTN quantization levels. The outer subconstellation includes signal points sufficiently separated so that coding is not needed for their transmission.
According to another aspect of the invention, n-dimensional trellis codes are used for transmitting information mapped to the first subconstellation.
Another aspect of the invention provides mechanisms for recovering from lost synchronism when decoding an n-dimensional code.
Another aspect of the invention provides mechanisms for avoiding catastrophic effects from lost synchronism when decoding an n-dimensional code.
Brief Description of the Drawing
In the Drawing,
Fig. 1 shows a conventional PSTN having local loops;
Fig. 2 is an architectural diagram of a PCM modem arrangement according to an exemplary embodiment of the invention;
Fig. 3 is a trellis diagram associated with a trellis code used for inner signal points of a composite code according to an exemplary embodiment of the invention;
Fig. 4 is another trellis diagram associated with a trellis code used for inner signal points and having state transitions for outer signal points of a composite code according to an exemplary embodiment of the invention;
Fig. 5 is an architectural diagram of the relevant part of an analog adapter according to an exemplary embodiment of the invention; and
Fig. 6 is an architectural diagram of the relevant part of a digital adapter according to an exemplary embodiment of the invention.
Detailed Description
An exemplary embodiment of the invention uses a new type of code called a composite code. Under the principles of the invention, a transmitter, or a digital adapter 220, and a PCM modem, or an analog adapter 260, may be implemented to encode and decode information using the exemplary code. As will be explained below, exemplary embodiments of the invention can attain the same transmission rate as uncoded transmission with improved noise resistance. For example, an exemplary embodiment attains a 1.8 dB nominal coding
gain over the baseline uncoded constellation above at 56 kb/s, and up to 4.8 dB may be attainable with more complexity.
In a PCM modem, the designer must use the pre-specified μ-law or A-law constellation, rather than being able to choose the signal constellation freely. The new type of code described in this specification was designed in response to this new constraint as well as the nonuniform nature of the pre-specified constellation.
In a composite code, some signal points are transmitted in coded fashion and others may not. More specifically, the composite codes used in exemplary embodiments use subsets of the μ-law or A- law quantization levels that are grouped to form at least two subconstellations. Each subconstellation is then associated with a corresponding transmission and decoding scheme tailored to the characteristics of that subconstellation.
I . Composite Codes involving 1 D Trellis Codes
One embodiment forms a composite code by combining one- dimensional trellis coded modulation and uncoded modulation in the following manner. A subset of the 255 detectable μ-law levels are used to create two subconstellations: a subconstellation of outer points with minimum distance d0, and a subconstellation of inner points with minimum distance dj < d0. All outer points are chosen to have larger magnitude than all inner points, and as a consequence of the PCM quantization rules, the outer points also have larger distances to adjacent outer points than the distances between adjacent inner points. The separation between the maximum inner point and minimum outer point is chosen to be at least d0. Finally, the
inner subconstellation is chosen to approximate a normal evenly- spaced pulse amplitude modulation (PAM) constellation.
For example, a 118-point outer subconstellation with d0 = 64 and a 20-point inner subconstellation with dj = 22 may be chosen as fol lows :
Exemplary inner subconstellation: 1 level at 12;
3 levels evenly spaced with d = 24 between 37 and 85; 5 levels evenly spaced with d = 24 between 107 and 203; 1 level at 231 ; and
10 negative levels with the same magnitudes and opposite sign.
Exemplary outer subconstellation: 3 levels evenly spaced with d = 64 between 295 and 423; 8 levels evenly spaced with d = 64 between 495 and 943; 16 levels evenly spaced with d = 64 between 1023 and 1983;
16 levels evenly spaced with d = 128 between 2079 and 3999; 16 levels evenly spaced with d = 256 between 4191 and 8031 ; and
59 negative levels with the same magnitudes and opposite sign.
Known trellis codes may be used with such an inner subconstellation to achieve a large minimum distance between coded sequences. In this case, a simple one-dimensional (1 D) 4-state Ungerboeck trellis code may be used. For example, the inner subconstellation may be 4-way partitioned into four subsets A, B, C, D in a periodic ABCDABCD . . . pattern as follows:
231 A -231 D
203 B -203 C
179 C -179 B
155 D -155 A
131 A -131 D
107 B -107 C
85 C -85 B
61 D -61 A
37 A -37 D
12 B -12 C
With this partition, the minimum distance within a subset is at least 4dj = 88, and the minimum distance between points in subsets A or C and points in subsets B or D is at least 2dj = 44. The digital adapter 220 and analog adapter 260 could use the exemplary 4-state trellis diagram shown in Fig. 3 in conjunction with the above constellations. The minimum squared distance between trellis code sequences is easily shown to be (44)2 + (22)2 + (44)2 = (66)2, s0 the minimum distance between trellis code sequences is 66.
In order to use both the inner and outer subconstellations to send 7 bits per sample, the encoder operates as follows. The digital adapter 220 receives information on link 240 and maps 7 bits of the information, at a time, into one of 128 values, of which
118 values are associated with unique outer points; and
• 10 values are associated with two inner points, one in A or C and one in B or D, in such a way that each of the 20 inner points is associated with a unique value.
Note that, in the above, the negative of an A point is a D point, and the negative of a B point is a C point. Let the 10 of the 128-bit 7-tuples that designate an inner point designate one of the 10 inner subconstellation magnitudes. As shown in Fig. 3, the state of the trellis decoder then allows either only A and C points, or alternatively B and D points to be sent; thus the state can be used together with the magnitude to select the sign of a signal point with that magnitude to satisfy the constraints of the code trellis. In this way, the data 7-tuple and the trellis state together select one of these 20 inner points to be transmitted. If on the other hand the input 7-tuple corresponds to one of the 118 outer point values, then the corresponding outer point is simply sent uncoded.
Since the minimum distance of the trellis code is 66, the minimum distance of the uncoded outer subconstellation is 64, and the minimum distance between the inner and outer subconstellations is 64, the minimum distance between any two sequences in the composite coding scheme is 64. This means that the nominal coding gain of the composite code is a factor of (64/52)2 = 1.515 (1.8 dB). (64 being the distance of the exemplary composite code, and 52 being the distance of the constellation for the baseline uncoded system, outlined above.)
The above composite coding arrangement creates some delay and buffering issues not found in conventional trellis coding and uncoded transmission schemes. More particularly, if the analog
adapter 260 detects a signal level in the outer subconstellation, an immediate decision can be made, since the outer subconstellation is uncoded. However, if the analog adapter 260 detects a signal level in the inner subconstellation, then the received signal magnitude must be decoded according to the inner trellis code (e.g., using the Viterbi algorithm). Such decoding inherently introduces some delay. Therefore, in order to put out the decoded received bits in the same order in which they were transmitted, the receiver needs to:
• Establish a fixed decoding delay between the time each received sample arrives and the time the corresponding data bits are put out; and
• Force the inner subconstellation decoder to make decisions in time to meet this delay constraint.
The latter condition will sometimes force the decoding of the inner subconstellation point to make a decision prematurely, i.e., sooner than an unconstrained decoder would. This increases the decoder error rate over that of an unconstrained decoder. However, this performance loss may be made arbitrarily small by choosing large enough.
Another way of visualizing the composite code and the effect of the fixed decoding delay constraint is as follows. A composite code trellis diagram may be constructed by starting with a conventional trellis diagram for the known trellis code, whose branches correspond to transmission of inner points, and adding branches corresponding to outer points that do not cause the encoder state to change.
For example, by starting with a trellis diagram for inner points, such as the one of Fig. 3, the trellis diagram of Fig. 4 may be constructed. The thin-line branches correspond to inner points; for clarity the labels are omitted. The thick-line branches correspond to outer points. As readily seen, the modified trellis diagram indicates that transmissions of outer points do not change the encoder state.
A transmitter that encodes using this trellis diagram 400 and a receiver that simply decodes this trellis code using the standard Viterbi algorithm with a fixed decoding delay will be equivalent to the composite encoder and decoder described previously.
I I . Composite Codes involving nD Trellis Codes.
The "constellation expansion" of the exemplary 1 D trellis code embodiment, described above, is a factor of 2. This constrains the amount of gain that can be achieved with 1 D codes in this application. By using a 2D or 4D trellis code, the constellation expansion due to trellis coding can be reduced to about 50% or 25%, respectively. (For example, Ungerboeck 2D code, a Wei 4D code, or Ungerboeck- or Wei- type codes such as those used in V.32 or V.34 may be used)
Exemplary embodiments involving 2D Ungerboeck trellis code may be constructed as follows. For these embodiments, a 64-point outer subconstellation with d0 = 128 and a 92-point inner subconstellation with dj = 32 are chosen as follows: Exemplary inner subconstellation for nD embodiment
2 levels at 33 and 65;
4 levels evenly spaced with d = 32 between 99 and 195; 8 levels evenly spaced with d = 32 between 231 and 455;
16 levels evenly spaced with d = 32 between 495 and 975; 16 levels evenly spaced with d = 64 between 1023 and 1983; and
46 negative levels with the same magnitudes and opposite signs.
Exemplary outer subconstellation for nD embodiment
16 levels evenly spaced with d = 128 between 2079 and 3999;
16 levels evenly spaced with d = 256 between 4191 and 8031 ; and 32 negative levels with the same magnitudes and opposite signs.
Now since log2 92 > 6.5, or equivalently (92)2 > 213, we can use trellis codes such as the two-dimensional (2D) Ungerboeck codes that introduce 1 redundant coded bit per two dimensions, or 1/2 b/D, to support a data rate of 6 bits per sample with the inner subconstellation, using a 21 3-point subset of the set of all pairs of inner points. In other words, there are 92x92 = 8464 > 8192 = 213 possible pairs of points from a 92-point inner constellation. Therefore, a 8192-point may be selected and each pair may be assigned a unique 13-bit label, to send 13 bits per two dimensions. Conventionally one would select the least-energy 8192 points. With the Ungerboeck 2D trellis codes, it is known that a distance gain of a factor of d can be achieved, where d is given as a function of the number s of states in the trellis code by the table below. In this application, relative to the baseline uncoded constellation with dmin = 52, this yields a nominal coding gain of a factor of (32/52) d = 0.379d, which is also shown in the table.
nominal coding gain
4 4 1.51 (1.8 dB)
8 5 1.89 (2.8 dB)
1 6 6 2.27 (3.6 dB)
64 7 2.65 (4.2 dB)
1 28 8 3.02 (4.8 dB)
Note that even with the most powerful scheme, the code distance of 32 8 = 90.5 is less than the distance d = 96 between inner and outer subconstellations, and a fortiori less than the distance d = 128 within the outer subconstellation.
Now in order to support a data rate of 7 bits per sample, the uncoded outer subconstellation and the coded inner subconstellation may be used as follows. One bit per sample determines whether we use the inner or outer subconstellation. If outer, then we transmit the remaining 6 bits using the 64-point uncoded outer subconstellation. If inner, then we transmit the remaining 6 bits using the 92-point coded inner subconstellation. The simplicity of this scheme results from the inner and outer scheme both supporting the same number (6) of bits per sample.
The delay and buffering issues that arise with this kind of composite coding scheme are addressed as before. However, here there is another important issue that has to do with the effect of an error in deciding whether a received level is an inner or outer subconstellation point. Such errors will be rare because the distance between inner and outer constellations is d = 96, greater than the code distance, but nonetheless are possible and must not lead to
catastrophic effects. When such a decoding error occurs, with an n- dimensional (nD) trellis code with n > 1 there will in general be a loss of n-bit block synchronization. Unless this loss of synchronization is addressed, further decoding of subsequent signals will almost surely be incorrect.
Several methods for dealing with such a loss of synchronization may be used:
1. Detect loss of block synchronization, and then resynchronize to the proper one out of the possible n block phases, for example, by a trial-and-error procedure. (This technique is known in the context of initially synchronizing nD block or trellis codes.)
2. Implement n parallel decoders at all times, and always choose the path with the best metric. (Implementing n parallel decoders is straightforward for those skilled in the art.) More elegantly, this may be realized by a novel single Viterbi algorithm search through a "super-trellis" containing one state for each of the n possible block phases and each of the states in a 1 D trellis for the original code. While this approach will resynchronize faster and more seamlessly than the one first mentioned, it will of course take about n times as much computation in normal operation.
3. Constrain the transmit sequence so that a multiple of n inner and outer points occur per N dimensions, where N is a multiple of n. Such a constraint may also assure that there are at least n
inner points per N dimensions. However, such a constraint will necessarily incur a cost in redundancy (overhead). (There are known constrained coding methods for straightforwardly implementing such constraints, but as far as we know this suggestion is novel for this type of application.)
While an error in distinguishing between an inner or outer point will in general disrupt the inner decoder by inserting or deleting a random state transition, error propagation can be limited by any of the above methods. Furthermore, while such an error will cause a series of output errors, it will not lead to input bits being delivered out of order, because both subconstellations support an equal number of bits per sample. Some of the techniques detect and recover from the problem of lost synchronism, while others ensure that the problem will not lead to catastrophic effects.
I I I . Implementation
The implementation of encoders given a trellis diagram and corresponding signal constellation is straightforward. Thus, for example, those skilled in the art will appreciate that the above description for composite codes involving 1 D trellis codes specifies that the digital adapter 220 is to include encoding logic implementing the trellis 800 and the relevant constellations listed above. The digital adapter 220 would thus send octets 225 listed above. The relevant part of a receiver, or analog adapter, 260 is shown in Fig. 5. Most of the elements shown are described in the related applications, identified and incorporated above. For clarity, that description is not repeated here.
In material part, the elements of Fig. 5 that differ from the elements described in the related applications is the decoder logic 570 within the analog adapter 260. This decoder logic will implement Viterbi decoding of the trellises of Figs. 3-4. The decoder logic may be separated into distinct decoders to correspond to the decoding of signal points in the first and second subconstellations. Moreover, under some embodiments using nD trellis codes, n parallel decoders may be used to recover from decoding errors. The decoding logic will also include delay logic, described above, to ensure that the decoded outputs correspond to the sequence of inputs.
Implementers will appreciate that the analog adapter 260 receives a baseband signal 250 that is an equivalent of the transmitted octet 225 and that the above description referred to them as signal points regardless of a binary or baseband representation. Those skilled in the art will further appreciate the applicability of the above logic and new code to other receiver techniques, e.g., sub-optimum decoders.
In analogous fashion, the relevant part of a transmitter, or digital adapter, 220 is shown in Fig. 6. Information received from link 240 is mapped by mapper 610 to a relevant subconstellation (in the diagram the transmitter includes two modulators, one for an inner subconstellation and one for an outer subconstellation). Then, depending on which subconstellation is determined as associated with the signal, the signal is modulated by a corresponding modulation technique. For example, for signai points mapped to the outer constellation, the modulation 620 would be for uncoded information, according to the exemplary embodiments described
above. For signal points mapped to the inner constellation, the modulation 630 would be for coded information. According to the exemplary embodiments described above, this coding could be 1 D or nD trellis coding, but the principles of the invention are not limited to just these codes. Control logic 640 besides controlling the above may implement various control functions. For example, in the case of nD codes and depending upon the embodiment of the invention, control logic 640 may constrain the first and second modulators in the above described manners to avoid catastrophic effects from occurring as a result of decoding errors at the analog adapter 260.
Many aspects of the digital adapter and analog adapter are not shown because they are known in the art. For example, the digital adapter may include logic for grouping information received from link 240 into a pre-specified number of bits, e.g., 7 bits. This logic is known and well understood. Analogously, the trellis coding logic described above is well understood, though the combination and use of them with the particular subconstellations is novel.
IV. Further Embodiments Though specific 1 D and nD schemes for coding inner points are discussed above, other embodiments are within the scope of the invention.
The use of known trellis codes with less redundancy, such as the Wei 4D trellis codes, may often be attractive for these highly bandlimited applications.
The signal constellation may be partitioned into more than two subconstellations. For example, the μ-law constellation may be partitioned into three subconstellations:
• an inner-inner subconstellation consisting of the inner 48 points from the d = 32 inner subconstellation above;
• an outer-inner subconstellation consisting of 36 levels with d = 64 (879, 943, 1023-1983);
• the same 64-point outer subconstellation with d = 128 as above.
Note that the distance between subconstellations is still d = 96. The inner-inner constellation can then support 5 bits per sample with a 2D Ungerboeck-type trellis code; the outer-inner subconstellation can support 5 bits per sample with a simple mod-2 lattice code based on a binary single-parity-check code such as the (6, 5, 2) or (8, 7, 2) code; and the outer subconstellation can support 6 bits per sample, as before. Selection may be made by using one bit per sample to choose the outer subconstellation or not, and, if not, a second bit to choose between the inner-inner and outer-inner subconstellations. In this example there is no increase in nominal coding gain over the composite codes of the previous section, but the example does indicate a possible direction for generalizations. These codes may be straightforwardly modified to include spectral shaping methods or for robbed-bit signaling protection such as those disclosed in the related applications identified and incorporated above. They could also be used with constellation shaping methods known in the art. This type of code may also be used when the system is power- constrained. In this case the highest-energy ieveis of the μ-law of A-law constellation may not be used at all.
Although novel composite codes are discussed with respect to the system of Fig. 2, it will be apparent to those skilled in the art that the same techniques can be used and applied to other systems in which codes are constructed from a fixed set of signal points. It will be appreciated by those skilled in the art that the division into inner and outer subconstellations shown in the exemplary embodiments above and the election to code inner points but not outer points are due to the particular nonuniform character of the μ-law and A-law constellations, and might be modified for other kinds of constellations.
The present invention may be embodied in other specific forms without departing from the spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive.
Appendix A (μ-law values)
1 level at 0;
15 positive levels evenly spaced with d = 2 between 2 and 30 (i.e., 2, 4, 6 30);
16 positive levels evenly spaced with d = 4 between 33 and 93; 16 positive levels evenly spaced with d = 8 between 99 and 219;
16 positive levels evenly spaced with d = 16 between 231 and 471 ;
16 positive Ieveis evenly spaced with d = 32 between 495 and 975; 16 positive levels evenly spaced with d = 64 between 1023 and 1983;
16 positive levels evenly spaced with d = 128 between 2079 and
3999; and
16 positive levels evenly spaced with d = 256 between 4191 and 8031 plus 127 symmetric negative levels