Abstract:
The influence of memoryful non-linearities on a serial data sequence is combatted by initially analyzing a transmitted test or training data sequence, the contents of which are known and, from this analysis, a decoding scheme, referred to as a look-up table, is prepared. The look-up table contains a set of averaged threshold parameters with which subsequently received data signals, the values of which are unknown, are to be compared. From these comparisons, decisions are made as to what data signals were actually transmitted. Further, the decisions may be refined by carrying out a second iteration of comparisons on the previous choice for the sequence of transmitted data signals, thereby enhancing the reduction in error rate. 
     Implementation of the above technique may incorporate a storage device such as a conventional random access memory into which threshold values for a sequence of training data signals are written during a training transmission and, for each identification of the same data symbol, its threshold value in memory is updated by averaging the new value with each of the received preceding values, so that, at the end of the training sequence, the memory contains threshold comparison values representative of the average value of each data symbol transmitted.

Description:
FIELD OF THE INVENTION 
     The present invention relates to communication systems and particularly to arrangements for reducing or combatting system performance degradation created by memoryful channel non-linearities. 
     BACKGROUND OF THE INVENTION 
     In present day communication systems there are many transmission media which contain both memoryful elements and non-linear elements that undesirably affect the fidelity of information passing through the media and require the use of error or distortion correction circuitry to overcome the influence of these factors on the received signal. 
     An example of such a medium is the telephone channel which contains both linear filters and non-linear elements that produce harmonic distortion. When high rate digital signals are transmitted through such a channel, the combination of the disturbances produced by each of these elements degrades the error rate of the received signal in such a manner that cannot be accomodated well by presently available processing techniques. 
     SUMMARY OF THE INVENTION 
     In accordance with the present invention, the influence of memoryful non-linearities within the transmission medium is substantially reduced by a technique which initially examines the degree of error or distortion introduced into a received signal that has been transmitted through such a medium, the examination preferably being conducted with prior knowledge of the information contained in the signal. Rather than attempt to analyze the disturbance itself, the present invention analyzes its effect on a test or training data sequence and from this analysis a decoding scheme, referred to as a look-up table, is prepared. The look-up table contains a set of averaged threshold parameters with which subsequently received data signals, the values of which are unknown, are to be compared. From these comparisons, decisions are made as to what data signals were actually transmitted. Further, the decisions may be refined by carrying out a second iteration of comparisons on the previous choice for the sequence of transmitted data signals, thereby enhancing the reduction in error rate. 
     Implementation of the above technique may incorporate a storage device such as a conventional random access memory into which threshold values for a sequence of training data signals are written during a training transmission, and for each identification of the same data symbol, its threshold value in memory is updated by averaging the new value with each of the received preceding values, so that, at the end of the training sequence, the memory contains threshold comparison values representative of the average value of each data symbol transmitted. 
     For the purposes of simplifying the explanation of the invention, the description to follow will treat the technique of combatting memoryful non-linearities for a transmitted sequence of binary symbols. It should be observed, however, that the invention is not limited only to the example described but is applicable to virtually any type of serial transmission scheme. Moreover, the transmission modulation technique is not restricted to any particular type, the present invention having essentially universal application, in this regard. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a transmission medium containing a memoryful non-linearity; 
     FIG. 2 is a schematic block diagram of a circuit configuration for processing a sequence of data signals subjected to memoryful non-linearities; and 
     FIG. 3 is a schematic block diagram of a modified version of the circuit configuration illustrated in FIG. 2. 
    
    
     DETAILED DESCRIPTION 
     FIG. 1 is a simplified diagram of a typical transmission medium, such as telephone transmission channel, through which data signals are transmitted and subjected to the type of distortion which the present invention seeks to combat. 
     To facilitate the description, it will be assumed that the data being transmitted is in the form of a sequence of binary symbols, ones and zeros, such as &#34;. . . 01011001110 . . . &#34;, each digital symbol being represented by some parametric value, such as a voltage level, which is monitored in receiver circuitry to determine if a particular transmitted bit is a &#34;1&#34; or a &#34;0&#34;. As an example, assume that during any bit time, a transmitted data representative voltage will be either plus or minus one volt, independent from bit to bit and equally likely in polarity. Thus, for an arbitrary five bit data sequence, 01101, letting +1 volt represent a &#34;1&#34; bit and -1 volt represent a &#34;0&#34; bit, the corresponding transmitted sequence of voltages would be -1 v, +1 v, +1 v, -1 v, +1 v, each bit having a prescribed finite duration. This binary symbol-representative voltage sequence passes through a memoryful non-linearity 1 and a filter 3 during its course of transmission through the channel. In addition, additive gaussian noise is imparted to the signal, represented by a noise summation 2. The distortion introduced by these elements causes the originally transmitted voltage levels of +1 and -1 volts to depart from their intended values in a direction of either polarity and of magnitudes which prevent a simple prediction of the transmitted bits based upon a constant voltage threshold. After filtering, the distorted signal contains zero mean gaussian random variables, of a standard deviation σ n  each sample time, which are uncorrelated with one another or the signal. Thus, as the signals are analyzed for each sample time 4 in processor 5, to obtain bit decisions as to the sequence of transmitted bits, some technique must be employed to minimize the error rate in the bit detection process. 
     In accordance with its novel distortion correction scheme, the invention assumes that the total memory characteristic of the transmission channel between the input and sampling device is finite, so that the number of different noise free values that samples can assume is also finite, regardless of the nature of the memoryful non-linearity. As an initial example, let it be assumed that the memory span of the memoryful non-linearity 1 and filter 3 combined is two bits in length and that there is no memory outside this range. In such a case, the values of the noise free samples (or average sample value when noise is present) can be tabulated with four entires as shown in Table 1 below. 
     
                       TABLE 1______________________________________(Two bit look-up Table)Binary Input(two bit sequence)             Sample value into processor______________________________________00                -0.5 volts01                +0.1 volts10                -0.1 volts11                +1.0 volts______________________________________ 
    
     The sample value represents the measured voltage for the right hand binary bit of the two binary bits in the left hand portion of the Table 1. 
     The usual approach for making bit decisions in this case would be simply to observe the polarity of the received sample value and assign the value of the received bit as a &#34;0&#34; if the polarity is negative and as a &#34;1&#34; if the polarity is positive. If the standard deviation of the noise samples is assumed to be 0.2 volts, it can be seen that using such an assignment technique creates a possible error in the choice for those tabulated bits the measured values of which are +0.1 volts and -0.1 volts. 
     If the value of the lefthand, or first, bit for each set of two bits of Table 1 were known, a decision on the right-hand bit could be made by setting a threshold voltage value half way between the two sample values of the two patterns in question. Namely, the four binary pairs of Table 1 can be grouped into sets based upon an assumed knowledge of the value of the first bit. Thus, pairs or sets (00,01) and (10,11) may be established and voltage thresholds determined on the basis of the average between the values measured for the bit in question. Therefore, for the set (00,01) a voltage threshold may be set at -0.2 volts, while for the set (10,11), the voltage threshold would be +0.55 volts. Once these thresholds have been established, the voltage measured for a bit X in question will be compared with either -0.2 volts or +0.55 volts depending upon the binary value of the preceding bit, i.e. depending upon whether the bit X forms with the preceding bit the set (0X) or the set (1X), and the value (1 or 0) for the measured bit is chosen in dependence upon whether it is larger or smaller than the threshold for that set. 
     In accordance with the present invention, threshold values are established by analyzing the measured values for a training sequence of received binary bits, which sequence is known beforehand and, from these measured values, a look-up table of threshold values, similar to Table 1, with which subsequently received and measured data is to be compared, is prepared. In assembling the look-up table, the measured values are averaged over the entire training sequence. The threshold value of the final decision of a second bit for any two bit sequence or pair is then adjusted to a value halfway between the two appropriate table entries for the final decision. 
     FIG. 2 shows a schematic block diagram of a circuit configuration by which the above process may be implemented. To facilitate the description, a completely digital embodiment is illustated. 
     Input data from the transmission channel containing the memoryful non-linearity and filter is sampled in sampling circuit 10 and applied through switch 8 to a tentative decision circuit 12. Sampling circuit 10 samples an incoming data signal at periodic intervals and generates a digital signal representative of the magnitude and polarity of the sample. A conventional gating and quantizer circuit may be used for this purpose with the output digital word including the appropriate sign bit. The polarity of the digital data sample is then examined by tentative decision circuit 12 which may consist of a straight-forward logic circuit generating a &#34;1&#34; if the sign bit of the sample word is a &#34;0&#34;, representative of a positive polarity, and generating a &#34;0&#34; if the sign bit of the sample word is a &#34;1&#34;, representative of a negative polarity. These values are stored for two bits and the resulting pair (00, 01, 10, or 11) is then used to define an address of one of four address locations in look-up table memory circuit 14. 
     Preferably, the look-up table is prepared by comparing the received values of a training sequence transmitted through the channel with a copy of the original sequence being stored in training sequence generator 9. The transmitted training sequence is preceded by the appropriate sync signal code which causes switch or gating circuit 8 to connect the output of sampling circuit 10 to training sequence generator 9. Training sequence generator 9 then couples a prescribed address sequence to memory 14 through OR gate 7 in synchronism with each sample, which address sequence is defined in accordance with the successive bit pairs contained in the transmitted binary training sequence. Thus, for a binary training sequence 010110011101 . . . , generator 9 would successively generate memory addresses defined in accordance with the successive bit pairs 01-10-01-11-10-00-01-11-11-10-01 . . . . Namely, as the sequence is traversed, bit by bit, the succeeding bit of the previous bit pair becomes the preceding bit of the next bit pair. The sampled value for the second bit in each of these pairs is supplied to averaging circuit 13, and combined with the contents of the address locations of memory 14 defined by these successive bit pairs. The new or updated averaged values are then rewritten into memory 14 via gate 6 which is enabled by switch 8 during the training sequence and may be disabled during the processing of unknown data. At the conclusion of the training sequence, switch circuit 8 may respond to another sync code and thereby connect the output of sampling circuit 10 to tentative decision circuit 12. 
     During the processing of each bit of stream data, the sequence of bits of which are unknown, switch 8 connects sampling circuit 10 to decision circuit 12 while disabling the path to generator 9, the training sequence having been completed, and a pair of addresses are generated by tentative decision circuit 12 and coupled through OR gate 7 to cause the averaged contents of the addresses in memory 14, corresponding to one of the above referred to pairs or sets, to be applied to the respective inputs of threshold circuit 15. Thus, if the two adjacent bits identified by tentative decision circuit 12 are the pair (11), threshold circuit 15 will receive the contents of the memory location having addresses corresponding to bit pairs (11) and (10) from memory 14. 
     Threshold circuit 15 examines the values of the contents of the address locations of the look-up table memory 14 supplied to it and generates an output corresponding to a value halfway between these values. Threshold circuit may comprise a full adder with a shift-right of the digital sum. This digital threshold value is supplied to comparator 16 which compares the sampled data word with the output of threshold circuit 15. If the value of the data word exceeds the threshold value, the output of comparator 16 is &#34;1&#34;; if the value of the data word does not exceed the threshold value, the output of comparator 16 is a &#34;0&#34;. 
     The foregoing implementation has been found to provide an error rate considerably improved as compared with the simple binary decisions based strictly on polarity of each analyzed bit. Still, apparently due to the use of simple polarity decisions at the step immediately preceding the final decision process, the performance of the system is influenced to an undesirable degree by errors made during the tentative decisions. Improvement upon the scheme shown in FIG. 2 can be achieved by a second or final-final iteration of the look-up table approach. More specifically, a further threshold decision may be carried out using the implementation shown in FIG. 3. 
     The configuration shown in FIG. 3 includes the same components shown in FIG. 2 with the addition of further threshold and comparison circuits. Specifically, the final decision or first iteration output of comparator 16 is stored in register 20 in the same manner that successive bit pairs are stored in tentative decision circuit 12. Successive bit pairs from the final decision are used to address look-up table memory 14 so that threshold values will be extracted for the final decisions and supplied to threshold circuit 17. Threshold circuit 17 may be identical to threshold circuit 15, comparing the contents of the pair of addressed locations in memory 14 and setting a threshold value halfway therebetween. The sampled data word is compared in comparator 19 with the threshold setting supplied by threshold circuit 17. Comparator 19 may be identical to comparator 16 so that its output will be based upon the final-final threshold decisions from circuit 17. 
     Subsequent to the second iteration refinement obtained through the implementation of FIG. 3, further iterations may be carried out on the final-final decision output of comparator 19, as desired, to further reduce error rate, using the same bit pair analysis technique described for the first and second iterations. 
     The above description treats a two bit memory span, with decisions for each successive bit being predicated upon the knowledge of the immediately preceding bit. Modifications of this scheme are possible and the bit value assumptions may be expanded into any denied code length. For example, taking a memory span of three bits, the look-up table technique may be applied to each sequence of three bits using the most significant and least significant bit (MSB and LSB) to predict the choice for the center bit. For example, a three-bit look-up table may be configured as shown in Table 2, below, wherein exemplary stored average values for the training sequence which have been placed in memory are tabulated in the right-hand column for the respective three bit sequences shown in the left-hand column. 
     
                       TABLE 2______________________________________(Three bit look-up Table)Binary Input   Stored Average in(Three Bit Sequence)          Look-Up Table memory (volts)______________________________________000            -0.923001            -0.795010            +0.332011            +0.591100            -0.500101            -0.501110            +0.874111            +0.990______________________________________ 
    
     For the three bit sequences wherein the MSB and LSB are given, there will be four threshold settings available, i.e. for each of the sets 0X0, 0X1, 1X0, 1X1, where X is the unknown center bit. Therefore, for a three bit implementation, each of tentative decision circuit 12 and register 20 requires an extra storage stage for assembling the appropriate pair of eight addresses in memory 14 storing the averages of the sample values. In addition, since a determination of the middle bit depends upon the next succeeding bit, appropriate delay circuitry, such as delay 11 shown in broken lines, must be inserted between the output of sampling circuit 10 and averaging circuit 13, for the configuration shown in FIG. 2, and a further one symbol delay circuit, such as delay 11 shown in broken lines, must be inserted between the output of the first delay circuit 11 and the input to comparator 19 for the circuit of FIG. 3. Of course, if the to be decided symbol in question is the most recent symbol for a three symbol sequence, such delays are unnecessary. They are used only to ensure that the decision in the bit in question is carried out having all symbols necessary for the calculation. Therefore, as an example, using the values tabulated in Table 2, for the three bit sequence 1X1, the addresses for sequence 101 and 111 will be generated by tentative decision circuit 12, and the values -0.501 and +0.990 will be supplied to threshold circuit 15. The value halfway between these voltage values is +0.244 volts, which is then compared with the center bit or data sample in comparator 16 to derive a final decision as to the value of the center bit. Using the scheme shown in FIG. 3, then a further addressing of memory 14 may proceed and a final-final iteration effected. 
     In the above examples, the invention has been described for two and three symbol memory spans wherein each data symbol consisted of a single binary bit. However, the symbols may be of a multi-bit length and the memory span, in reality, is unlikely to be finite, so that some variation about the mean values stored in the look-up table memory can be anticipated due to symbols beyond the span covered by the look-up table. With present day memories, the size of the table can be adequately expanded to effect a reasonable implementation of the invention to provide a satisfactory degree of distortion compensation. It has been found that the mean value of the decided-upon symbol and the variance about the mean value does not change substantially for sequence lengths from seven to three symbols, but is affected for a sequence length less than three. Thus, a memory span of at least three symbols and the configuration shown in FIG. 3 comprise an especially preferred embodiment of the invention. 
     While I have shown and described several embodiments in accordance with the present invention, it is understood that the same is not limited thereto but is susceptible of numerous changes and modifications as known to a person skilled in the art, and I therefore do not wish to be limited to the details shown and described herein but intend to cover all such changes and modifications as are obvious to one or ordinary skill in the art.