Abstract:
A channel equalizer system is provided that employs a non-linear technique and a data symbol memory for rapidly adjusting a plurality of equalizer coefficients without using a training sequence. Past data symbols stored in the data symbol memory are used to achieve significantly fast convergence of the equalizer coefficients to their optimum values. Statistical properties of the transmitted data symbols are also exploited. Global convergence is guaranteed by traversing local minima in the convergence process. An expression of performance, referred to as a cost function, includes a plurality of weighted terms that results in more rapid convergence than a conventional cost function with a single term. Still further rapid convergence results when the weights are adaptively adjusted in real-time. The improved performance is achieved with a negligible increase in computational complexity.

Description:
dynamically such that its output attains the same variance as that of transmitted data. The scaled equalizer output is received by a standard QAM decision module that produces so-termed eye patterns. Essentially, the decision module determines where to place each signal point in the eye pattern based on the scaled equalizer output. The signal constellation can be a 16 16, 8×8, 4×4, or 2×2 array of signal points, or even a pulse amplitude modulation signal with only two signal points. 
     All of the modules herein described can be implemented in software and executed on a general purpose computer or microprocessor. Alternatively, one or more modules can be implemented as a specialized computational element in cooperation with other specialized hardware for implementing the functionality of the modules. 
    
    
     DESCRIPTION OF THE DRAWING 
     The invention will be more fully understood from the following detailed description, in conjunction with the accompanying figures in which: 
     FIG. 1 is a block diagram of two modems communicating over a channel; 
     FIG. 2 is a schematic diagram of a prior art channel equalizer; 
     FIG. 3 is a block diagram of a multipoint communications network; 
     FIG. 4 is a block diagram of a communications channel and an equalizer; 
     FIG. 5A is a block diagram of an embodiment of the blind equalizer of the invention; 
     FIG. 5B is a block diagram of an adaptive weight module of the embodiment of FIG. 5A; 
     FIGS. 6A and 6C are a 3-D plot and corresponding contour map of a conventional cost function with a single term; 
     FIGS. 6B and 6D are a 3-D plot and corresponding contour map of a second version of the CRIMNO cost function; 
     FIGS. 7A and 7B are graphs of the characteristics of the simulated communications channel, showing magnitude and phase response, respectively; 
     FIGS. 8A and 8b are equalizer eye patterns prior to the operation of a scaling module and after the operation of the scaling module, respectively; 
     FIGS. 9A, 9B, and 9c are graphs of the MSE, SER, and ISI performance parameters of the first and second versions of the CRIMNO cost function, an adaptive weight CRIMNO cost function, and a cost function with a single term; 
     FIGS. 10A-10D are equalizer eye patterns of the cost functions of FIGS. 9A-9C at the 20,0000 th  iteration; 
     FIGS. 11A, 11B, and 11C are graphs of the performance of the adaptive weight CRIMNO cost function for different memory sizes; and 
     FIGS. 12A-12D are equalizer eye patterns corresponding to the cost functions of FIGS. 11A-11C. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     With reference to FIG. 4, the task of blind equalization can be stated as follows: a random sequence a n  of statistically independent and identically distributed data symbols, selected from a finite discrete set, is transmitted through an unknown channel 32 characterized by parameters h n  and is thereby transformed into a distorted received sequence y n  ; at a receiver that includes an equalizer 34 characterized by a plurality of equalizer coefficients c n , recover a sequence z n  substantially equivalent to the sequence an using only the distorted received sequence y n . 
     The channel 32 can be, for example, a linear shift-invariant system with unknown impulse response h n . Also, the equalizer 34 restores the sequence a n  in the practical sense, i.e. the probability of error is below a practical threshold value when decisions are made using the output sequence z n  from the equalizer. Such sequence restoration can be attained in both noiseless and noisy environments. 
     Since most practical communication channels are nonminimum phase, the blind equalization problem cannot be solved using second order statistics. Instead, higher-order statistics, or a nonlinear performance cost function must be used. 
     If the channel impulse response, i.e., the parameters h n , can be uniquely identified, the blind equalization problem is solved. However, the converse is not true; solving the blind equalization problem does not require that the channel be uniquely identified. For example, when the transmitted data sequence a n  consists of only one value, perfect equalization can easily be attained, even though the channel impulse response h n  may not be known. 
     The following characteristics of the transmitted data a n  are known: 
     the transmitted data a n , come from a finite discrete set; and 
     the transmitted data a n  are mutually statistically independent. The probability distribution of the transmitted data a n  may, but need not, be known. Thus, the equalizer of the invention restores the transmitted data a n  given only the received data y n  and partial statistical knowledge about the transmitted data a n . To exploit the property of mutual statistical independence of the transmitted data a n , a memory is used for storing a plurality of data symbols, as will be explained below. 
     The blind equalization problem can be mathematically stated as follows: ##EQU1## and, the transmitted data symbols a n  come from a finite discrete set, and each data symbol is statistically independent of all other data symbols. 
     The equalizer coefficients c n  must be adjusted so as to effectively restore the original transmitted data, to within a constant delay. If the distribution v of a n  is non-Gaussian, and if c n  is adjusted such that z n  attains the same distribution v as the transmitted data, the equalizer output z n  restores the original transmitted data except for a constant delay. The equalizer coefficients c n  must be adjusted such that the equalizer output sequence z n  is as close to the transmitted data sequence a n  as possible. To accomplish this, a cost function is constructed that only depends on partial knowledge of the transmitted data. The cost function reaches a minimum if and only if the transmitted data are restored by the equalizer. The cost function can be regarded as a measure of similarity between the equalizer output and the transmitted data. 
     Now, assume that perfect equalization is achievable, and consider the situation where perfect equalization has indeed been achieved. That is: 
     
         Z.sub.n =a.sub.n-d                                         (2) 
    
     where d is some constant positive integer, which accounts for the constant delay. Since the transmitted data a n  are statistically independent from each other, so are the equalizer outputs z n  at perfect equalization. In addition, for most transmitted data constellations, the mean of a n  is zero. Therefore, at perfect equalization, we have: 
     
         E(z.sub.n z*.sub.n-i)=E(a.sub.n-d a*.sub.n-i-d)=E(a.sub.n-d)E(a*.sub.n-i-d)=0               (3) 
    
     where E(x) represents the statistical expectation operation from probability theory of the argument x, and R p  =E(|a n  | 2p )/E(|a n  | p ) which generally represents the ratio of the 2p th  to the p th  moment, and particularly represents the average power when p=1. 
     By making use of the property of equation (3), a new class of cost functions is obtained, called cost functions with memory nonlinearity (CRIMNO): 
     CRIMNO Version I: (no update) 
     
         M.sub.1.sup.(p) =w.sub.0 E(|z.sub.n |.sup.p -R.sub.p).sup.2 +w.sub.1 |E(z.sub.n z*.sub.n-l)|.sup.2 +. . . +w.sub.M |E(z.sub.n z*.sub.n-M)|.sup.2(4 
    
     CRIMNO Version II: (update) 
     
         M.sub.2.sup.(p) =w.sub.0 E(|z.sub.n |.sup.p -R.sub.p).sup.2 +w.sub.1 |E(z.sub.n z*.sub.n-1.sup.(n))|.sup.2 +. . . +w.sub.M |E(z.sub.n z.sub.n-M *.sup.(n) |.sup.2                      (5) 
    
     where Z n-i .sup.(n) is the calculated equalizer output at t=n-i using equalizer coefficients at t=n. 
     Since each term of a CRIMNO cost function reaches its global minimum at perfect equalization, the convergence speed of an equalization method based on the cost function can be increased by appropriately combining the terms, i.e., assigning a particular multiplicative weight to each term. In this way, the stable local minima inherent in the first term of a CRIMNO cost function can be eliminated, because the weights can be chosen so that the sum of the terms after the first term additively cancel the first term. The second version of the CRIMNO cost function converges even faster than the first version because the most recent equalizer coefficients are used to calculate the equalizer outputs required by the cost function. 
     The first and second versions of the CRIMNO cost function depend not only on the current equalizer output, but also on the previous equalizer outputs, thereby requiring use of a memory of size M. The parameter p in the CRIMNO cost functions is typically taken to be 2, but any non-negative integer value can be used. 
     If perfect blind equalization is possible, then a CRIMNO cost function has a global minimum. It is also true that when a CRIMNO cost function has a global minimum, there can be perfect blind equalization. The foregoing two versions of the CRIMNO cost function have global minimum that correspond to perfect blind equalization. Therefore, to achieve perfect blind equalization, the equalizer coefficients must be adjusted so as to obtain the global minimum of the CRIMNO cost function. 
     A steepest descent method is used to find the global minimum, using the following equations: ##EQU2## where C n  is the vector of the equalizer coefficients, C n  =[C.sup.(n) -N2+1 , . . . c 0 .sup.(n), . . . c.sup.(n) N1-1]   T , where the size N of the vector C n  is N1+N2-1, and α is the step-size. By taking the derivative, substituting the expected value with the current value, and setting p=2, the following vector equations are obtained. CRIMNO version I: 
     
         C.sub.n+1 =C.sub.n -aY*.sub.n z.sub.n [4w.sub.0 |z.sub.n |.sup.2 +2w.sub.1 |z.sub.n-1 |.sup.2 +. . . +2w.sub.M |z.sub.n-M |.sup.2 -4w.sub.0 R.sub.2 ](8) 
    
     CRIMNO version II: 
     
         C.sub.n+1 = C.sub.n - a[4w.sub.0 Y*.sub.n z.sub.n (|z.sub.n |.sup.2 - R.sub.2) + 2w.sub.1 (Y*.sub.n z.sub.n |z.sub.n-1.sup.(n) |.sup.2 + Y.sub.n - 1 *z.sub.n - 1.sup.(n) |z.sub.n |.sup.2)+. . . +2w.sub.M (Y*.sub.n z.sub.n |z.sub.n-M.sup.(n) |.sup.2 +Y*.sub.n-M z.sub.n-M.sup.(n) |z.sub.n |.sup.2)]    (9) 
    
     where Y n  =[Y n , . . . , Y n+N-1  ] T  is the vector of the receiver signals, and N=N1+N2-1 is the length of equalizer. 
     A CRIMNO cost function can be placed in the general form of a Bussgang technique. In a Bussgang technique, the corresponding equalizer output is: 
     
         z.sub.n =Y.sub.n.sup.T C.sub.n =a.sub.n +e.sub.n           (10) 
    
     where n=1, 2, and C n  is a vector of the equalizer coefficients at the n th  iteration. At the (n+1) th  iteration, a Bussgang technique consists of the following two equations: 
     
         C.sub.n+1 =C.sub.n -aY.sub.n *e.sub.n                      (11) 
    
     
         e.sub.n =z.sub.n -g|Z.sub.n ]                     (12) 
    
     where an optimum estimate of a n  at the n th  iteration is denoted by g[Z n  ], where Z n  stands for {z i  :i=1, . . . , n-M}. The optimum estimate can be obtained using a mean-square error or a maximum aposteriori technique. Different nonlinear functions g[Z n  ] lead to different performance. One subclass of g[Z n  ] is the class of memoryless nonlinear functions, where g[Z n  ] is only a function of the current equalizer output z n . 
     By contrast, the first version of the CRIMNO cost function belongs to the subclass of g[Z n  ] that includes nonlinear functions with memory. In particular, by comparing equation (8) with equations (11) and (12), it can be seen that the nonlinear function g[Z n  ] associated with the first version of the CRIMNO cost function is given by: 
     
         g[Z.sub.n ]=z.sub.n -z.sub.n [4w.sub.0 |z.sub.n |.sup.2 +2w.sub.1 |z.sub.n-1 |.sup.2 +. . . +2w.sub.M |z.sub.n-M |.sup.2 -4w.sub.0 R.sub.2 ]  (13) 
    
     Note that g[Z n  ] is a function not only of the current equalizer output z n , but also of the previous equalizer outputs {z k  :n-M≦k≦n}. The first M+1 term in the square bracket of equation (13) is a weighted sum of {|z n  | 2 , |z n-1  | 2 , . . . , |z n-M  | 2  }. As such, it can be regarded as a way of calculating the expected value E(|z n  | 2 ). Consequently, the first version of the CRIMNO cost function amounts substantially to the original single point estimate of E(|z n  | 2 ), |z n  | 2 , with a more accurate estimate involving a weighted sum of M+1 terms. 
     At perfect equalization, E(|Z n  | 2 )=E(|z n-1 | 2 )=. . . =E(|z n-M  | 2 ). Thus the first M+1 terms in the square bracket of equation (13) is an estimate of γE(|z n  | 2 ), where γ=4w 0  +2w 1  +. . . +2w M . To prevent constellation eye shrinkage, the signal z n  is dynamically scaled to provide automatic gain control such that it attains the same variance as the transmitted data a n . 
     Further regarding convergence of the CRIMNO cost functions, the global minimum of the CRIMNO cost functions is shown to lead to minimum residual intersymbol interference. The first term taken in isolation exhibits local minima, and therefore results in undesired equilibria. However, the terms added to the first term in the CRIMNO cost function are shown to help reduce the number of local minima, and therefore reduce the undesired equilibria. Thus, the global minimum of the CRIMNO cost function leads to perfect equalization, because the terms beyond the first term in the CRIMNO cost function help reduce the undesirable equilibria inherent in the first term. 
     In general, except for perfect equalization, the equilibria of different terms do not coincide with each other. That is, the s n  which attains an equilibrium for one term may not do that for other terms. Thus, we can reduce the number of undesirable equilibria by increasing the memory size M and by properly choosing the weight of each term. 
     The global minimum of the CRIMNO cost functions leads to minimum intersymbol interference in the case of a finite length equalizer of sufficient length. The terms added to the first term in the CRIMNO cost functions help eliminate the undesirable local minima inherent in the first term so that the global minimum can be achieved. 
     To illustrate the local minima inherent in the first term of a CRIMNO cost function, FIG. 6A shows a 3-D plot of the first term, and FIG. 6C shows the corresponding contour map. It can clearly be seen that the first term of the CRIMNO cost function has stable a local minima at (0,±0.5575). 
     FIGS. 6B and 6D show the 3-D plot and contour map of the CRIMNO II cost function, with memory size M=1 and w 0  =1, w 1  =2. Note that it has no local minima. Therefore, CRIMNO cost functions can avoid local minima if the weights of the added terms are chosen properly. 
     Thus, the performance of the CRIMNO cost functions, e.g., the critical convergence speed and convergence effectiveness, depends on the choice of weights w i . A method for adjusting the weights in real-time during the blind equalization process will now be presented. 
     The basic idea is this: the value of each tern in the CRIMNO cost function is estimated, and the weights are set proportional to the deviations of the corresponding terms from their ideal value at perfect equalization. 
     Consider CRIMNO version I: 
     
         M.sub.1.sup.(p) =w.sub.0 E(|z.sub.n |.sup.p -R.sub.p).sup.2 +w.sub.1 |E(z.sub.n z*.sub.n-1)|.sup.2 +. . . +w.sub.M |E(z.sub.n z*.sub.n-M)|.sup.2(14) 
    
     The cost function can be expressed as follows: 
     
         M.sub.1.sup.(p) =w.sub.0 J.sub.0 +w.sub.1 J.sub.1 +. . . +w.sub.M J.sub.M(15) 
    
     where 
     
         J.sub.0 =E(|z.sub.n |.sup.p -R.sub.p).sup.2 
    
     j i  =|E(z n  z* n-i )| 2  1≦i≦M(16 
     for a statistically independent, uncorrelated sequence. 
     For a statistically dependent sequence {a n  } of a known autocorrelation R(i), where i=1, . . . , M, then 
     
         J.sub.i =|E(z.sub.n z*.sub.n-1)-R(i)|.sup.2. 
    
     Note that if the elements of the sequence {a n  } are independent, then R(i)=0 for all i≠0, as in equation (29). 
     The deviation of the ith term D(J i ) is defined by ##EQU3## where J i  .sup.(0) is the value of J i  at perfect equalization. Then the weights are adjusted using the following formulas: ##EQU4## where γ 0  and γ are positive scaling constants; and X is a constraint on the maximum value of the weights for the sake of stability of the cost function. 
     The cost function with weights that are adjusted in real-time while the equalizer is on-line is called the Adaptive Weight CRIMNO cost function. Adjustment of the weights is done automatically. When the technique converges, the weights decrease toward zero. Hence, the adaptive weight CRIMNO cost function results in decreasing step-size, which has been proven to be an optimal strategy for equalization. 
     The adaptive weight CRIMNO cost function cannot be trapped for long at a local minimum, if one exists at all, because the cost function can very quickly move out of the local minimum. Moreover, the larger the deviation, the quicker the cost function will move out of the local minimum, thereby providing better performance. Two factors contribute to the improvement: the terms added to the first term that employ the memory of length M; and the adaptive adjustment of the weights. 
     Blocks of data are used to estimate J i . Their values are used to update the weights in the next block. A sufficiently long block length should be used to make the variance of the estimates small. Because of the nature of the first term, J 0  is different from the other J i , and γ 0  is different from γ. 
     In the forgoing discussion, it was assumed that noise is absent and the exact expected values are used. By means of computer simulations, the performance of CRIMNO and the adaptive weight CRIMNO cost functions under noisy conditions will be presented, and it will be shown how they compare with that of a cost function with only a first term. 
     A simulation system is set up in accordance with the embodiment of FIG. 5. This embodiment includes an equalizer 36 that receives a distorted signal y n , and provides an equalized signal z n . The signal z n  enters a scaling module 38, an adaptive weight module 40 and a non-linear function evaluation module with memory 42. 
     The characteristics of the channel utilized for simulations that provides the distorted signal y n  are illustrated in FIGS. 7A and 7B. The transmitted data constellation is a quadrature amplitude modulation (QAM) constellation consisting of an eight-by-eight array of signal points, where each signal point represents a different combination of signal phase and amplitude. The additive noise in the received signal is Gaussian and white. The length M of the equalizer is 31. Initial setting of the equalizer coefficients is as follows: ##EQU5## where d is the location of the greatest coefficient in the impulse response of the channel inverse. 
     Adaptation of the equalizer coefficients is accomplished in accordance with equation (11). A coefficient update module 44 receives both the distorted signal y n  as a vector y n , and an error signal e&#39; n , and provides an updated vector of equalizer coefficients C n+1  that supersedes the vector of equalizer coefficients C n  maintained within the equalizer 36. 
     To provide the error signal e&#39; n  equations (12) and (13) are implemented by the non-linear function evaluation module with memory 42. The function g[z n  ] is non-linear, and is a function not only of the current equalizer output z n , but also of the M most recent equalizer outputs {z k  :n-M≦k&lt;n}. It is therefore necessary to store the previous M equalizer outputs in a memory. 
     The weights w 0  -w M  are provided in accordance with equations (29), (30), and (31), described above, by an adaptive weight module 40 that receives the equalizer output z n . The module 40 must also include a memory to store the most recent weights w 0  -w M . For the adaptive weight CRIMNO cost function, blocks of data are used to estimate the {J i  :0≦i≦M} for updating the weights w 0  -w M . The block length utilized in the simulations is 2000. 
     The adaptive weight module 40 includes a moment module 48 that is responsive to the equalizer output z n . The module 40 determines a current moment J 0  and a plurality of subsequent moments J i . A deviation module connected to the moment module 48 provides a deviation that includes the norm of the difference between a subsequent moment J i  and a moment at perfect equalization J i  .sup.(0). A weight determination module 52 is connected to the deviation module 50. The weight determination module 52 provides a first weight that is proportional by a positive scaling constant to a deviation of the current moment from the moment at perfect equalization, only if the first weight is less than a stability threshold λ, otherwise providing the stability threshold λ as the first weight. The weight determination module 52 also provides at least one subsequent weight that is proportional by a positive scaling constant to a deviation of the current moment from the moment at perfect equalization, only if the subsequent weight is less than the stability threshold λ, otherwise providing the stability threshold λ as the subsequent weight. 
     The scaling module 38 provides automatic gain control (AGC) and thereby scales the equalizer output z n  dynamically, such that its output z n  &#39; attains the same variance as that of transmitted data a n . The scaling module 38 works as follows: ##EQU6## where β is the forgetting factor, which is chosen to be 5×10 -6  in the present simulations. 
     The scaled equalizer output z n  &#39;, is received by a standard QAM decision module 46 that produces the so-termed eye patterns, as shown in FIG. 10D, for example. Essentially, the decision module 46 determines where to place each signal point in the eye pattern based on the signal z n  &#39;. 
     All of the modules 36-46 can be implemented in software and executed on a general purpose computer or microprocessor. Alternatively, one or more modules can be implemented as a specialized computational element in cooperation with other specialized hardware for implementing the functionality of the modules 36-46 as herein described. Moreover, all of the equations articulated herein can be expressed in many equivalent forms, and can be partitioned in myriad ways, nevertheless having the same overall substantive effect. 
     The performance of CRIMNO (I, II) and the adaptive weight CRIMNO cost functions can be compared with that of a cost function with only a single term. The comparison is done by means of four different but related metrics: 
     the mean square error (MSE) calculated a posteriori and averaged over an interval of 1000 samples; 
     the symbol error rate (SER) percentage of wrongly detected symbols calculated every 1000 symbols; 
     intersymbol interference (ISI) calculated using the following equation assuming that the channel impulse response is known, ##EQU7## where s i  =h i  *c i  (* denotes convolution) is the combined impulse response; and 
     an eye pattern, i.e., the distribution of equalizer outputs. 
     FIGS. 8A and 8b show an eye patterns prior to the operation of the scaling module 38 and after the operation of the scaling module 38, respectively. Thus, FIG. 8A is an example of constellation eye shrinkage of the CRIMNO cost functions, and FIG. 8B represents the correction of such shrinkage by the scaling module 38. 
     FIGS. 9A, 9B, and 9C show the performance (MSE, SER, and ISI) of the first and second versions of the CRIMNO cost function, the adaptive weight CRIMNO cost function, and the cost function with a single term. Note that adaptive weight (AW) CRIMNO performs substantially better than CRIMNO I and II, which in turn perform substantially better than a cost function with a single term. Specifically, AW CRIMNO has a lower mean square error at each iteration than all the other cost functions. Also, the symbol error rate and the intersymbol interference are significantly lower for each successive iteration. 
     FIGS. 10A-10D show eye patterns of these cost functions at the 20,000 th  iteration. FIG. 10A represents the single term cost function, FIGS. 10B and 10C correspond to CRIMNO I &amp; II, and FIG. 10D shows the performance of the adaptive weight CRIMNO cost function. It can be seen that there is little difference between the CRIMNO I cost function and the CRIMNO II cost function. This is because of the small step-size α used for the stability of these techniques. The adaptive weight CRIMNO cost function clearly provides the best performance, as evidenced by the more pronounced clustering of signal points. 
     FIGS. 11A, 11B, and 11C show the performance of the adaptive weight CRIMNO cost function for different memory sizes M. These figures illustrate that performance of the adaptive weight CRIMNO cost function improves as the memory size increases. 
     FIGS. 12A-12D show the corresponding equalizer eye patterns. It is clear from the figures that the larger the memory M, the better the performance, i.e., the more distinctly the clusters of signal points form. 
     
                                           TABLE 1__________________________________________________________________________          CRIMNO             Adaptive Weight CRIMNO     SINGLE          (memory size M)    (memory size M)     TERM Version I                  Version II Version I__________________________________________________________________________Real Multiplication     4N + 5          4N + 3M + 5                  MN + 8M + 4N + 5                             4N + 8M + 5__________________________________________________________________________ 
    
     Table 1 summarizes the computational complexity of the single term, the CRIMNO, and the adaptive weight CRIMNO cost functions. From this table it is evident that the computational complexity of the adaptive weight CRIMNO cost function is almost the same as that of the single term cost function for small M. 
     Although the foregoing discussion relates to blind equalizers realized with linear transversal filters, the invention can also be implemented as a T-spaced equalizer or a T/2-spaced equalizer, for example. 
     Other modifications and implementations will occur to those skilled in the art without departing from the spirit and the scope of the invention as claimed. Accordingly, the above-description is not intended to limit the invention except as indicated in the following claims.