Inband coding of secondary data

Abstract: A modem which represents the transmitted primary data stream using signal points selected via a trellis code is provided with the further capability of transmitting secondary data. In particular, a standard constellation of signal points is expanded to include a number of signal points which is greater than that needed to transmit the primary data. Particular primary data word values are representable by either of a predetermined pair of signal points associated with that value--one signal point of the pair (A4,B4,C4,D4) being a standard signal point and the other (A5,B5,C5 D5) being an expanded signal point. The specific one of the two signal points of the pair that is transmitted at any given time is chosen as a function of whether the value of the next bit in the secondary data stream waiting to be transmitted is a "0" or a "1". The location of each expanded signal point in the constellation is selected such that its distance from the nearest signal point in the trellis code subset of its associated standard signal point is substantially at least as great as the minimum distance between any two signal points in that subset.

Description: Background of the Invention The present invention relates to techniques for communicating primary and secondary data streams over a communication channel. It is often desirable in data communications applications to transmit not only principal, or primary, data, but also secondary data. For example, present-day telephone voiceband modems--particularly those designed for leased-line operation--are often arranged to not only transmit the so-called user (primary) data, but also diagnostic and/or maintenance (secondary) data via which the modems themselves communicate. For modems operating at relatively low data transmission rates, the available transmission bandwidth can be divided into so-called primary and secondary channels in which the primary and secondary data are respectively transmitted. At higher data rates, however, the primary channel bandwidth requirements may be such as to preclude this approach because every Hertz of bandwidth is needed for the primary channel. As a consequence of the foregoing, various types of so-called inband secondary data signalling (hereinafter "inband signalling") schemes have been proposed in which the secondary data is transmitted along with the primary data in the primary channel. In accordance with a particular type of inband signalling scheme, an alphabet, or constellation, of "standard" signal points--having just enough signal points to accommodate the various possible primary data word values--is expanded to include a number of additional, or "expanded," signal points. Particular data word values to be communicated over the primary channel are representable by either of a predetermined pair of signal points associated with that value--one signal point of the pair being a standard signal point--referred to herein as a "secondary data standard signal point"--and the other being an expanded signal point. The specific one of the two signal points of the pair that is transmitted at any given time is chosen as a function of whether the value of the next bit in the secondary data stream waiting to be transmitted is a "0" or a "1". Schemes of this type are typified by the arrangements shown in U.S. Patent 4,651,320 issued March 17,1987 to H. K. Thapar and U.S. Patent 4,627,077 issued December 2, 1986 to T. R. Armstrong. Summary of the Invention In the prior art, each expanded signal point is typically located in close proximity to its associated standard signal point in the constellation in such a way as to make detection of the expanded signal points in the receiver easy and straightforward. For example, in the aforementioned Thapar patent, the secondary data standard signal point having the complex plane coordinates (0,3) is paired with an expanded signal point having the coordinates (0,5). Unfortunately, however, this prior art approach to the selection of the locations of the expanded signal points would be disadvantageous if used in a channel-coded transmission system, such as a trellis-coded system, because the close proximity of each expanded point to its associated standard point reduces the so-called "coding gain" of the trellis code and thus degrades its performance. In accordance with the invention, the location of each expanded signal point is selected such that its distance from the nearest signal point in the trellis code "subset" of its associated standard signal point is substantially at least as great as the minimum distance between any two signal points in that subset. (The term "subset" as used in this context refers to a well-known trellis coding concept which is described in full detail hereinbelow.) Advantageously, this approach minimizes the primary channel performance degradation caused by the inclusion of the expanded signal points in the constellation and yet still allows for straightforward detection in the receiver. In accordance with a feature of the invention, those standard signal points in each trellis code subset that are chosen to be secondary data standard signal points are those having the highest power of all the standard signal points of the subset. This approach advantageously minimizes the increase in signal power of the transmitted line signal caused by the inclusion of the expanded signal points in the constellation. A further feature of the invention relates to the fact that even when there is no secondary data available to be transmitted at a particular time, the primary channel data to be sent may require the transmission of one of the secondary data standard signal points. Assuming, for example, that the secondary data standard signal points represent "1"s (marks), the arrival of a standard secondary channel data point at the receiver would, if nothing more were done, be interpreted as being a secondary data bit of value "1" whereas, in reality, no secondary data stream intelligence may have been intended to be communicated. This problem is overcome in accordance with this last-mentioned feature of the invention by transmitting the secondary data always in words of some predetermined length--such as eight bits--preceded by a start bit, which is illustratively a "0". As described in detail hereinbelow, this approach advantageously avoids the need for a stop bit, which is often required in asynchronous data transmission, and thereby minimizes the overhead associated with transmitting the secondary data. Brief Description of the Drawing In the drawing, FIG. 1 is a block diagram of a transmitter for use in a voiceband modem embodying the principles of the invention; FIG. 2 is a block diagram of a receiver for use in a voiceband modem embodying the principles of the invention; FIG. 3 depicts a standard signal point constellation that can be used to communicate primary data only; FIG. 4 depicts an expanded signal point constellation that can be used to communicate primary and secondary data in accordance with the principles of the invention; FIG. 5 depicts another expanded signal point constellation that can be used to communicate primary and secondary data in accordance with the principles of the invention; and FIG. 6 is a timing diagram illustrating a format that can be used within the secondary data stream in accordance with a feature of the present invention. Detailed Description Transmitter 100 of FIG. 1 receives a primary input bit stream at a predetermined input bit rate on lead 101 and generates at its output on lead 130 a telephone voiceband line signal representing a stream of two dimensional output signal points which, in turn, represent the values of the input bits. This line signal is transmitted over a voiceband telephone channel to receiver 200 of FIG. 2, which receives the transmitted line signal from the channel on lead 201, identifies the transmitted signal points and thus, ultimately, the primary data stream, which is provided on receiver output lead 223. At the same time, a stream of secondary data is applied to transmitter 100 on lead 151. This data, which has a relatively low data rate, e.g., 110 bps, is also represented in the aforementioned line signal, in a manner to be described, and recovered in the receiver. The recovered secondary data is provided as a receiver output on lead 242. Before continuing with a detailed description of the circuitry of FIGS. 1 and 2, reference is made to FIG. 3, which depicts a constellation of signal points that could conventionally be represented in the line signal that is output by transmitter 100 if only primary data were to be transmitted. In particular, the constellation of FIG. 3 is comprised of 16 two-dimensional signal points. The signal points are divided into four predefined subsets A, B, C and D comprised of four signal points each. The signal points of subset A are labelled A₁, A₂, A₃ and A₄. The signal points of the other subsets are labelled correspondingly. Transmitter 100 uses a trellis code to determine the sequence of output signal points. In implementing a system using the constellation of FIG. 3, the primary data bits are illustratively processed as three-bit words. One of the bits in each word--comprising its "coded" portion--is applied to a trellis encoder--a finite-state machine which generates a two-bit output identifying a particular one of the four subsets A through D from which the next transmitted signal point is to come. The other two bits of each input word--comprising its "uncoded" portion--are used to select, from the selected subset, the particular signal point to be transmitted. The selected output signal points are constrained to occur in certain subset sequences, as defined by the trellis code. It is this constraint which provides the system with so-called "coding gain," which manifests itself in the form of an increased immunity to transmission errors induced by Gaussian noise. In the receiver 200, the received signal point is typically offset from its original position in the constellation as the result of Gaussian noise and other channel impairments. A typical such received signal point is denoted as signal point "X" in FIG. 3. In order to identify the sequence of transmitted signal points represented by these offset received signal points, the receiver uses maximum likelihood decoding, also known as Viterbi decoding. The first step in this process is to determine the Euclidean distance from each received signal point, say the signal point X, to the nearest signal point of each subset. In this example, the signal points of the four subsets nearest to signal point X are A₁, B₃, C₄ and D₂. The resulting four parameters are then processed along with the four parameters measured for a number of subsequently received signal points--in a manner that is well-known and need not be described in detail herein--in order to recover the most likely sequence of transmitted signal points. The three-bit words associated with the recovered signal points are then output on lead 223. In order to accommodate the transmission of secondary data along with the primary data, transmitter 100 illustratively selects its output signal points from the "expanded" constellation of FIG. 4, rather than from the standard constellation of FIG. 3. This expanded constellation includes the same 16 signal points, divided into the same four subsets, as the constellation of FIG. 3. Those 16 signal points are referred to herein as the "standard" signal points. However, this constellation also includes an additional four signal points, referred to herein as the "expanded" signal points. These four signal points are equally distributed among four subsets, i.e., one expanded signal point per subset. The expanded signal points in subsets A, B, C, and D, denoted A₅, B₅, C₅ and D₅, respectively, are each enclosed in a circle in the FIG 4. Each expanded signal point is paired with an associated standard signal point in the same subset. Specifically, expanded signal point A₅ is paired with standard signal point A₄; expanded signal point B₅ is paired with standard signal point B₄; and so forth. The four signal points A₄, B₄, C₄ and D₄ associated with expanded signal points, referred to herein as "secondary data standard signal points," are each enclosed in a square in the FIG 4. As before, the primary data bits are used to select first the subset and then the particular signal point within the subset that is to be transmitted in response to each three-bit input data word. However, whenever one of the secondary data standard signal points is the one that would be selected--for example, signal point A₄--reference is made to the next secondary data word--illustratively comprised of a single secondary data bit--waiting to be transmitted. If that bit is a "1" or, alternatively, if no bit at all is waiting to be transmitted, then the standard signal point is sent just as it would be if the system had no secondary data transmission capability. If, on the other hand, the secondary data bit waiting to be transmitted is a "0", then the expanded signal point associated with that standard signal point--for example,the expanded signal point A₅--is sent instead. The aforementioned Viterbi decoding performed in the receiver is carried out just as before except that now, in determining the Euclidean distance between the received signal point and the nearest signal point of each subset, the expanded signal points must also be taken into account. Thus, for example, distance from received signal point X to the nearest signal point in subset A would now be determined to be the distance between signal point X and signal point A₅ rather than signal point A₁. From the standpoint of recovering primary data, receptions of signal points A₄ and A₅ by receiver 200 are equivalent. That is, the same primary data bits will be output on lead 223 no matter which of those two signal points is determined (through the maximum likelihood decoding process) to have been sent. However, the receipt of signal point A₄ results in a secondary data bit value of "1" being output on lead 242 whereas the receipt of signal point A₅ results in a secondary data bit value of "0" being output on that lead. In accordance with the invention, we have recognized that the location of the expanded signal points within the constellation is important from the standpoint of preserving, to the maximum extent possible, the coding gain afforded by the trellis code. In particular, if expanded signal point A₅ happened to be placed where expanded signal point D₅ is, then the close proximity of signal point A₅ to signal point A₃ would significantly reduce the coding gain afforded by the trellis code. In accordance with the invention, however, any loss of coding gain due to the presence of the expanded signal points is minimized by selecting the location of each expanded signal point such that its distance from the nearest signal point in the subset of its associated standard signal point--which is to say, the subset to which the expanded signal point has been assigned--is substantially at least as great as the minimum distance between any two signal points in that subset. Thus, for example, the distance of signal point A₅ from the signal point in subset A that it is closest to-namely, signal point A₁--is, in this example, the same as the distance between, for example, signal points A₁ and A₃, or between A₃ and A₄, etc. In many data transmission environments, including voiceband data transmission over the telephone network, it is desirable to maximize the average power of transmitted data signals--consistent with whatever upper limit is imposed by the transmission network itself--in order to provide as large a signal-to-noise ratio as possible and, therefore, to minimize the transmission error rate. However, the expanded signal points added to a constellation, such as in FIG. 4, typically have greater power than the standard signal points with which they are associated. (The power of a point is a monotonic function at its Euclidean distance from the origin.) This, of course, would tend to increase the average power of the transmitted signal; and in order to keep within the average power constraints of the network, it may be necessary to reduce somewhat "shrink" the constellation. This has the effect of bringing the points of the constellation "closer together" and, disadvantageously, tends to reduce the SNR margin. In order to ameliorate this situation, it is desirable, in accordance with a feature of the invention, to pair up the expanded signal points with standard signal points which are the highest energy points within their respective subsets. In this way, the increase in signal power occasioned by the substitution of expanded signal points for standard signal points is kept to a minimum and thus the degradation of the performance of the system caused by the inclusion of the expanded signal points in the constellation is also kept to a minimum. It is for this reason, referring specifically to FIG. 4, that expanded signal point A₅ is paired with standard signal point A₄, which has the highest power of all standard signal points in subset A, and so forth for each of the other subsets. We are now in a position to consider the circuitry of FIGS. 1 and 2 in greater detail. (In these FIGS., the lighter lead lines represent leads which carry either a single bit or an analog signal, while the darker lead lines each represent some number of parallel leads each of which carries a single bit or an analog signal.) We turn, then, to transmitter 100 in FIG. 1. As noted earlier, the primary data is supplied on lead 101 in serial form. This data may have originated from, for example, a computer or data terminal. The primary data stream is processed conventionally by scrambler 102 and the resulting bit stream is applied to serial-to-parallel (S/P) converter 104 which, in the present example, generates three-bit output words on its leads 105 and 106. Although, in general, leads 105 and 106 each comprise a number of parallel leads, in this specific case, leads 105 carries only one of the three bits, while leads 106 carries the other two. The bits on leads 106 comprise the aforementioned uncoded portion, or uncoded bits, of the data word and pass through trellis encoder 110 unchanged onto leads 112. The bit on lead 105, however, comprises the aforementioned coded portion of the word and trellis encoder 110 is a finite-state machine which processes the successive bits that appear on leads 105 to provide, for each word supplied by S/P converter 104, two bits on lead 111. Those bits identify the particular one of the four subsets A, B, C and D from which the next transmitted signal point is to come. For example, the bit patterns 00, 01, 10 and 11 on lead 111 may correspond to subsets A, B, C and D, respectively. The bits on leads 112 specify an index identifying a particular one of the standard signal points within the identified subset. For example, the bit patterns 00, 01, 10 and 11 on lead 112 may correspond to the signal points having the subscripts 1, 2, 3 and 4, respectively (as denoted in FIG. 4). Putting it all together, then, bit values of 01 and 11 on leads 111 and 112, respectively, would identify signal point B₄. FIG. 4, in fact, shows the bit patterns associated with each of the standard and expanded signal points. The first two bits are a function of the subset to which the signal point belongs and the second two bits are a function of the uncoded bits. (Although not explicitly shown in the FIG., trellis encoder 110 may include, as is standard, differential encoding circuitry as well.) Leads 111 and 112 extend to standard signal mapper 116, which provides signals on its output lead 117 identifying the X and Y coordinate values (also referred to as in-phase and quadrature-phase, or more simply the "I" and "Q" values) of the identified signal point, which is always one of the standard signal points of the constellation. At the same time, however, leads 111 and 112 also extend to expanded signal mapper 119. This unit is similar to standard signal mapper 116 except that whenever the index on leads 112 is a "4"--thereby indicating that a secondary data standard signal point has been specified by trellis encoder 110--the X and Y coordinate values that are output by expanded signal mapper 119 are the coordinate values of the expanded signal point associated with that standard signal point. Thus in the example given above, the 01 and 11 on leads 111 and 112 would cause standard signal mapper 116 to output the coordinates of standard signal point B₄, while causing expanded signal mapper 119 to output the coordinates of expanded signal point B₅. Of course, only one of those two signal points is to be transmitted, depending on the secondary data. To this end, secondary data bits that have been received from lead 151 have been stored in buffer 154, which is illustratively comprised of a shift register 157 and a gate 161. It will be noted that the indices of the various signal points of each subset are assigned thereto in such a way that all indices above a certain value--in this case, above the value "3"--are associated with signal points that carry secondary data, namely the standard signal points A₄, B₄, C₄ and D₄, and the expanded signal points A 5, B 5, C₅ and D₅. The bit pattern on leads 112 is monitored by designated signal point detector 152, and whenever the index "4" appears thereon, detector 152 outputs a shift pulse on lead 153. This causes gate 161 to signal shift register 157 via control lead 159 to shift out the next secondary data bit waiting to be transmitted, which bit is thereupon supplied by gate 161 onto lead 155. The secondary data bit on lead 155, in turn, controls transmit signal point selector 121--which is essentially a gate--to pass on to leads 122 the coordinates on leads 117, if that bit is a "1", or the coordinates on leads 118, if that bit is a "0". If no secondary data bit is available in buffer 154 when lead 153 is pulsed, the default output bit on lead 155 is a "1". (The manner in which receiver 200 is made to know whether such a "1" is to be interpreted as actual secondary data or not is described hereinbelow.) In summary, then, it can be seen that for each primary data word whose uncoded bits are within a first predetermined set of values--in this example this values 00,01 and 10--a respective standard signal point from the subset identified by the trellis encoder is selected, e.g., signal point A₂ associated with uncoded bit pattern 01. On the other hand, for each primary data word whose uncoded bits have at least one other value--in this example, the value 11--a signal point is selected from a pair of signal points in the identified subset--that pair being associated with the aforesaid other value. In this embodiment, then, the uncoded bit pattern 11 is associated with the signal point pair A₄ and A₅ in subset A, with the signal point pair B₄ and B₅ in subset B, etc. Selection of a particular signal point of the identified pair is then a functon of an individual secondary data word--in this example A₄ if that word, or bit in this case, has the value "1" and A₅ if that word has the value "0". Continuing with the processing within transmitter 100, the coordinates on leads 122 are passed to modulator 125 which, in standard fashion, generates a modulated line signal representing the stream of identified signal points. That signal is then applied to a telephone voiceband channel via lead 130. Turning, now, to receiver 200, the transmitted line signal is received from the channel on lead 201. The signal is processed in conventional fashion through receiver filter 203 and demodulator/equalizer 205. The output of the latter on lead 206--which represents received signal point, such as the signal point point X (FIG. 4)--is then applied to slicer 208. The job of the latter is to provide, for each subset, a quantity equal to the distance between point X and the nearest point of each of the four subsets. The resulting four quantities are thereupon applied to Viterbi decoder 210 which, upon processing the outputs from slicer 208 over a number of signalling intervals, determines what the most likely sequence of transmitted signal points was. Specifically, Viterbi decoder 210 provides two bits on its output leads 211 for each signalling interval. Those two bits identify the subset to which the signal point currently being decoded belong. At the same time, Viterbi decoder 210 provides a signal on leads 212 identifying the index of that signal point. (Although not explicitly shown in the FIG., Viterbi decoder 210 may include differential decoding circuitry which provides the inverse function of the aforementioned differential encoding circuitry incorporated within trellis encoder 110 of transmitter 100.) The signals on leads 211 and 212 are then decoded in order to recover the primary data bits. In particular, the subset identification on leads 211 is applied to subset decoder 213 which recovers the single, coded bit that was applied to trellis encoder on leads 105. A so-called systematic trellis code is illustratively used in this embodiment, so that the coded bit is, illustratively, nothing more than the bit on a particular one of the two leads 211. Additionally, the index represented by the signals on leads 212 is converted by index decoder 214 into the corresponding uncoded bit pattern using, for example, a straightforward table lookup. In the lookup table, certain pairs of index values will map into the same uncoded bit values because they represent the same primary uncoded data. In this example, more particularly, the index values "4" and "5" map into the same primary data bit values. The bits output by decoders 213 and 214 are then converted to serial form by parallel-to-serial (P/S) converter 216 and are descrambled by descrambler 218, which provides the inverse function of the scrambling performed by scrambler 102 in the transmitter. The primary data thus recovered is provided on receiver output lead 223. At the same time, the secondary data is recovered by the remaining circuitry of receiver 200. In particular, designated signal point detector 231 operates similarly to designated signal point detector 152 in transmitter 100 to provide a shift pulse to buffer 241 whenever a signal point which carries a secondary data bit is output by Viterbi decoder 210. More specifically, that pulse is generated, as before, whenever the signal point index on lead 212 is either "4" or "5". The index value itself is passed to secondary data detector 236 via leads 233. Detector 236 outputs a "1" on its output lead 237 if the index value is "4" and a "0" if the index value is "5". Gate 244 within buffer 241, responsive to the shift pulse on lead 232, takes in the bit value thus provided on lead 237 and, via control lead 247, operates shift register 245 within the buffer to shift in that bit value (unless the bit is a "start" bit, as described hereinbelow). Circuitry (not shown) within the modem which utilizes the secondary data bits reads them out of shift register 245 onto lead 242 in conventional fashion. Although a particular constellation is shown in FIG. 4, the invention can, of course, be used with any of a virtually limitless number of constellations, depending on the application. Thus, for example, the constellation of FIG. 4 is suitable for voiceband data transmission at, for example, a rate of 7.2 Kbps over a leased line. At higher speeds, or when transmission over dial-up lines is desired, larger constellations are typically more desirable. Such a larger constellation--again embodying the principles of the invention--is shown in FIG. 5. This constellation can be used, for example, for transmission over leased telephone lines at a data rate of 14.4 Kbps. The constellation has 128 standard signal points divided into eight subsets with 16 standard signal points in each subset. Because of the numerous signal points in this constellation, it is unwieldy to specifically label each signal point to show what subset it belongs to. However, the 16 standard points of two of the subsets, subsets A and B, are explicitly labelled so that the constituent signal points of at least those two subsets can be readily seen. Other subsets are comprised of signal points laid out in similar geometric patterns. In particular, subsets C, E and G can be arrived at by clockwise rotation of subset A by 90,180 and 270 degrees, respectively, while subsets D, F and H can be arrived at by clockwise rotation of subset B by 90,180 and 270 degrees, respectively. In addition, there are two expanded signal points in each subset--rather than just one, as in the case of FIG. 4--for a total of 144 signal points. As in FIG. 4, the secondary data standard signal points are enclosed within squares while the expanded signal points are enclosed within circles. The first pair of signal points within subset A that represent data are standard signal point A₁₅ and expanded signal point A₁₇, while the second pair of signal points within subset A that represent data are standard signal point A₁₆ and expanded signal point A₁₈. The secondary data standard signal points and expanded signal points in the other seven subsets are labelled similarly. In utilizing the constellation of FIG. 5, trellis encoder 110 illustratively processes bits in words of six bits each. Two of the bits in each word, provided on leads 105, are trellis-encoded to generate on leads 111 a three-bit output identifying a particular one of the eight subsets from which the next transmitted signal point is to come. The other four bits are used to select, from the selected subset, either a) a particular signal point to be transmitted or b) a signal point pair in the case where the trellis code identifies a secondary data standard signal point. In the latter case, as before, the value of a secondary data bit determines which signal point of the pair is to be used. One other issue, alluded to hereinabove, needs to be discussed. That is the fact that since a secondary data standard signal point is transmitted both in the case where a secondary data bit is to be transmitted and in the case where no secondary data bit value is to be transmitted, some mechanism must be provided to enable the receiver to tell the difference. One solution would be to modify the secondary data signalling scheme in such a way that the secondary bit value of "0" is assigned to half of the expanded points and a secondary bit value of "1" is assigned to the other half. With this approach, the standard signal points that are associated with expanded signal points do not convey secondary data information. This approach has the disadvantage, however, that it cannot support as high a secondary data bit rate as when standard signal points also carry secondary data values. In preferred embodiments of the invention, the standard signal points do carry secondary information, as was described earlier hereinabove. Specifically, and in accordance with a feature of the invention, a signalling format employing fixed-length secondary data words each preceded by a start bit is used to distinguish "1"s which, indeed, represent secondary data from "1"s which do not. In particular, as shown in FIG. 6, the secondary data transmission circuitry begins in an idle state in which, as indicated at 601, only secondary data standard signal points, representing "1"s, are transmitted to the exclusion of any expanded signal points. In the meantime, incoming secondary data bits are queued up within the buffer in groups of eight-bit words each having a prepended start character--illustratively a start bit of value "0". Once gate 161 determines, via a control signal supplied from shift register 157 on lead 158, that there are eight secondary data bits ready to be transmitted, the gate responds to the first shift pulse thereafter appearing on lead 153 by outputting a "0"--which is the aforementioned start pulse--on lead 155, as indicated at 604 in FIG. 6. This "0" following on the aforementioned stream of "1"s is an indication to buffer 241 in the receiver that the eight bits that follow, indicated at 608, are all valid secondary data bits. Specifically, then, gate 161 responds to the next eight shift pulses by causing shift register 157 to output the next eight bits that it has queued up and, as noted earlier, those bits are supplied by gate 161 onto lead 155. Assume, now, that by the time the last of the eight secondary data bits is transmitted, buffer 154 has ready another full eight bits. In this case, these bits are immediately sent, preceded, however, by another start bit, as indicated at 611 and 613. The appearance of start bit 611 immediately following the eighth bit of the previous eight-bit secondary data word 608 serves as an indication to buffer 241 that the eight bits that follow this second start bit are, indeed, secondary data bits. At some point, buffer 154 will not have a full eight secondary data bits ready for transmission. In this case, buffer 154 will not respond to any shift pulses on lead 153 until such time as it eight bits are, in fact, ready for transmission. As a result, at least one secondary data standard signal point will be transmitted, resulting in one or more "1"s being conveyed in the secondary data stream. These "1"s, illustratively three of them, indicated at 617 in FIG. 6, serve as an indication to buffer 241 that the secondary data transmission is in an idle state, i.e., no secondary data is being sent. The later appearance of a "0", as indicated at 621 denotes the beginning of another eight bits of secondary data, as indicated at 622. Advantageously, it will be appreciated that this scheme is capable of communicating the secondary data without requiring the use of a stop bit, as is characteristic of other asynchronous transmission schemes, thereby keeping the overhead associated with secondary data transmission to a minimum. This benefit arises out of the fact that although the secondary data transmission is, in one sense, asynchronous because a secondary data bit can be transmitted only when particular signal points are selected for transmission by the trellis encoder, it is engrafted onto a synchronous scheme in which the signal points which carry the primary and secondary data are transmitted synchronously. A further functionality carried out by buffer 154, in accordance with a further feature of the invention, is to impose a limit on the maximimum rate at which the secondary data is transmitted. Illustratively, this limitation is enforced by gate 161 which can selectively ignore shift pulses on lead 153, as needed, to keep the secondary data rate at or below the maximum desired rate by limiting the rate at which expanded signal points are allowed to be transmitted. This feature advantageously limits the increase in the average signal power of the transmitted line signal caused by the inclusion of the expanded signal points in the constellation, resulting from the fact that the occurrence in the transmitted signal of expanded signal points--which, again, will typically have higher power than the standard signal points--will be held to a predetermined upper limit. The foregoing merely illustrates the principles of the invention. Thus, for example, the invention can be used with any desired subset-based signalling scheme, any desired constellation of any desired dimensionality, e.g., four or eight dimensions, and any desired data rates. The number of expanded signal points used for each subset can be varied, depending on the desired secondary data rate relative to the primary data rate. Indeed, the number of expanded signal points can be changed dynamically during system operation as, for example, when channel conditions dictate that the system "fall back" to a reduced data rate. Additionally, the circuitry disclosed herein is, of course, merely illustrative. Indeed, although the various functional blocks disclosed herein are depicted as discrete circuitries, those various functions could be carried out using one or more programmed processors or digital signal processing (DSP) chips.

Claims: A method of generating a signal in which streams of primary and secondary binary data words are represented by a plurality of signal points selected from a predetermined signal point constellation, the signal points of said constellation being divided into predefined subsets, said method CHARACTERIZED BY the steps of trellis coding at least one particular bit of each primary data word to identify, for each of the plurality of signal points, the subset from which it is to be selected, selecting a particular one of the signal points from the identified subset when the other bits of said each primary data word have one of a predetermined plurality of values, and selecting a particular one of a particular pair of signal points from the identified subset when said other bits have at least one other value, said particular one signal point of the pair being selected as a function of an individual one of said secondary data words, each of the signal points of said pair being located within said constellation in such a way that its distance from the nearest signal point of the subset to which it belongs is substantially at least as great as the minimum distance between any two signal points in that subset, and generating said signal from the selected signal points. The method of claim 1 CHARACTERIZED IN THAT the signal points selected when said other bits have said at least one other value are the highest power points of the subset to which they belong. The method of claim 1 CHARACTERIZED BY the further step of formatting the secondary data bits into groups of predefined size, with each group being prepended by a start bit. The method of claim 1 CHARACTERIZED IN THAT in said selecting step the rate at which the one of said pair of signal points in each subset that has the highest power is selected is limited to a predetermined maximum. Apparatus for generating a signal in which streams of primary and secondary binary data words are represented by a plurality of signal points selected from a predetermined signal point constellation, the signal points of said constellation being divided into predefined subsets, each of said subsets having a plurality of standard signal points and at least one expanded signal point, each said expanded signal point being paired with an associated standard signal point in the same subset, and each of said primary data words having a coded and an uncoded portion, said apparatus CHARACTERIZED BY means (110) for trellis coding the coded portion of each primary data word to identify, for each of the plurality of signal points, the subset from which it is to be selected, means (116) for selecting, for each primary data word having an uncoded portion with one of a first predetermined set of values, a respective standard signal point from the identified subset, and means (152, 116, 119, 121) for selecting, for each primary data word having an uncoded portion with at least one other value, an individual signal point from a respective signal point pair, said pair comprising a particular expanded signal point in the identified subset and its associated standard signal point, said individual signal point being selected as a function of an individual one of said secondary data words, said expanded signal points each being located within said constellation in such a way that its distance from the nearest signal point of the subset to which it belongs is substantially at least as great as the minimum distance between any two signal points in that subset, and means (125) for generating said signal from the selected signal points. The apparatus of claim 5 further CHARACTERIZED BY means (154) for formatting the secondary data into groups of predefined size, with each group being prepended by a start character. The apparatus of claim 5 CHARACTERIZED IN THAT said selecting means limits the rate at which expanded points are selected to a predetermined maximum. Apparatus for generating a signal in which streams of primary and secondary binary data words are represented by a plurality of signal points selected from a predetermined signal point constellation, the signal points of said constellation being divided into predefined subsets, said apparatus CHARACTERIZED BY means (110) for trellis coding at least one particular bit of each primary data word to identify, for each of the plurality of signal points, the subset from which it is to be selected, means (116,119,121,152) for selecting a particular one of the signal points from the identified subset when the other bits of said each primary data word have one of a predetermined plurality of values, and for selecting a particular one of a particular pair of signal points from the identified subset when said other bits have at least one other value, said particular one signal point of the pair being selected as a function of an individual one of said secondary data words, each of the signal points of said pair being located within said constellation in such a way that its distance from the nearest signal point of the subset to which it belongs is substantially at least as great as the minimum distance between any two signal points in that subset, and means (125) for generating said signal from the selected signal points.

Inventors: BETTS WILLIAM LEWIS, BOTTOMS STANLEY, BETTS, WILLIAM LEWIS, BOTTOMS, STANLEY
Applicants: AT & T CORP, AT&T CORP.
Application year: 1990
Main classification: H04L27
IPC codes: H04J11, H04L27, H04M11