Abstract:
A method to design parallel TH precoders and a circuit architecture to implement parallel TH precoders have been presented. The parallel design relies on the fact that a TH precoder can be viewed as an IIR filter with an input equal to the sum of the original input to the TH precoder and a compensation signal. The parallel design also relies on the fact that the compensation signal has finite levels. Therefore, precomputation techniques can be applied to calculate intermediate signal values for all possible values of the compensation signal.

Description:
STATEMENT REGARDING FEDERALLY-SPONSORED RESEARCH AND DEVELOPMENT  
       [0001]     This invention was made with Government support under the SBIR grant # DMI-0441632, awarded by the National Science Foundation. The Government has certain rights in this invention. 
     
    
     FIELD OF THE INVENTION  
       [0002]     The present invention relates to data processing and transmission. More particularly, it relates to parallel Tomlinson-Harashima precoding of data and parallel Tomlinson-Harashima precoders.  
       BACKGROUND OF THE INVENTION  
       [0003]     Tomlinson-Harashima precoding (TH preceding) is a transmitter equalization technique where equalization is performed at the transmitter side, and has been widely used in many communication systems. It can eliminate error propagation and allows use of capacity-achieving channel codes, such as low-density parity-check (LDPC) codes, in a natural way.  
         [0004]     Recently, TH precoding has been proposed to be used in 10 Gigabit Ethernet over copper (10GBASE-T). The symbol rate of 10GBASE-T is 800 Mega Baud. However, a TH precoder contains feedback loops, and it may be impossible to clock the straightforward implementation of the TH precoder at such high speed. Thus, high speed design of TH precoders is of great interest.  
         [0005]     How to design a fast TH precoder is a challenging task. The architecture of a TH precoder is similar to that of a DFE (decision feedback equalizer). The only difference is that a quantizer in the DFE is replaced with a modulo device in the TH precoder. In a PAM-M (M-level pulse amplitude modulation) system, the number of different outputs of the quantizer in the DFE is finite, which is usually equal to the size of the symbol alphabet, i.e., M. However, theoretically, the number of different outputs of the modulo device in the TH precoder is infinite for a floating-point implementation. For a fixed-point implementation, it is exponential with the wordlength. In some applications, the wordlength can be very large. Thus, many known techniques exploiting the property of finite-level outputs of the nonlinear element in the DFE, such as the pre-computation technique (See, e.g., in K. K. Parhi, “Pipelining in algorithms with quantizer loops,”  IEEE Trans. on Circuits and Systems,  vol. 37, no. 7, pp. 745-754, July 1991), cannot be directly applied to pipeline the TH precoder. Furthermore, the use of look-ahead techniques in the TH precoder, such as those for pipelining IIR filters (See, e.g., K. K. Parhi and D. G. Messerschmitt, “Pipeline interleaving and parallelism in recursive digital filters, Part I and Part II,”  IEEE Trans. Acoust., Speech, Signal Processing,  pp. 1099-1135, July 1989), is not straightforward as the TH precoder contains nonlinear elements in its feedback loops.  
         [0006]     What is needed is a fast TH precoder and a method for designing the same, which can fully exploit the properties of a TH precoder.  
       BRIEF SUMMARY OF THE INVENTION  
       [0007]     The present invention provides a fast TH precoder through parallel processing and a method for designing the parallel TH precoder.  
         [0008]     In accordance with the present invention, a TH precoder is first converted to its equivalent form where the TH precoder can be viewed as an IIR filter with an input equal to the sum of the original input to the TH precoder and a finite-level compensation signal. Next, a parallel IIR filter is obtained by applying classical look-ahead techniques to the equivalent IIR filter. Then, the resulting parallel IIR filter is reformulated as an intermediate parallel Tomlinson-Harashima precoder by removing the compensation signal as an explicit input to the IIR filter. Finally, precomputation technique is applied to the intermediate design, resulting in a parallel Tomlinson-Harashima precoder.  
         [0009]     Further embodiments, features, and advantages of the present invention, as well as the structure and operation of the various embodiments of the present invention are described in detail below with reference to accompanying drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES  
       [0010]     The present invention is described with reference to the accompanying figures. In the figures, like reference numbers indicate identical or functionally similar elements. Additionally, the left-most digit or digits of a reference number identify the figure in which the reference number first appears. The accompanying figures, which are incorporated herein and form part of the specification, illustrate the present invention and, together with the description, further serve to explain the principles of the invention and to enable a person skilled in the relevant art to make and use the invention.  
         [0011]     Table 1 lists the complexity and critical path for a straightforward L-tap FIR TH precoder (Straightforward-THP), its corresponding 2-parallel design (2-Para-THP) and 3-parallel design (3-Para-THP).  
         [0012]     Table 2 lists the complexity and critical path for a straightforward L-th order IIR TH precoder (Straightforward-THP), its corresponding 2-parallel design (2-Para-THP) and 3-parallel design (3-Para-THP).  
         [0013]      FIG. 1  illustrates the idea of Tomlinson-Harashima preceding.  
         [0014]      FIG. 2  shows the straightforward architecture of a 2nd-order FIR TH precoder as well as its critical path.  
         [0015]      FIG. 3  illustrates the 2-parallel equivalent IIR filter of a 2nd order FIR TH precoder.  
         [0016]      FIG. 4  illustrates the intermediate parallel TH precoder.  
         [0017]      FIG. 5  illustrates the parallel Tomlinson-Harashima precoder.  
         [0018]      FIG. 6  shows the straightforward architecture of a 2nd-order IIR TH precoder and its critical path.  
         [0019]      FIG. 7  illustrates the intermediate IIR parallel TH precoder.  
         [0020]      FIG. 8  illustrates the parallel IIR Tomlinson-Harashima precoder.  
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
     Background on Tomlinson-Harashima Precoding  
       [0021]     Consider a discrete-time channel  
                 H   ⁡     (   z   )       =     1   +       ∑     i   =   1       L   H       ⁢       h   i     ⁢     z     -   i               ,           EQ   .           ⁢     (   1   )               
 
 where L H  is the channel memory length. We assume that the model is known at the transmitter side. We also assume that the transmitted symbols are PAM-M symbols, where the symbol set is {±1, ±3, . . . , ±(M−1)}. To remove inter-symbol interference (ISI), we can use zero-forcing pre-equalization, which basically implements the inverse of the channel transfer function at the transmitter side, as illustrated in  FIG. 1 ( a ). However, one problem associated with the scheme in  FIG. 1 ( a ) is that the output of the pre-equalizer has a large dynamic range, which may even be unlimited. 
 
         [0022]     Tomlinson and Harashima (See, M. Tomlinson, “New automatic equalizer employing modulo arithmetic,”  Electron. Lett.,  vol. 7, pp. 138-139, March 1971; and H. Harashima and H. Miyakawa, “Matched-transmission technique for channels with intersymbol interference,”  IEEE Trans. Commun.,  vol. 20, pp. 774-780, August 1972) proposed to limit the output dynamic range by using a nonlinear modulo device in the feedforward path of the pre-equalizer, as shown in  FIG. 1 ( b ). The resulting pre-equalizer is called a TH precoder. The operation of TH precoding can be interpreted by using the equivalent form of the TH precoder in  FIG. 1 ( c ). A unique compensation signal v(n), which is a multiple of 2M, is added to the transmitted PAM-M signal x(n) such that the output of the precoder t(n) is limited in the interval [−M, M). So the effective transmitted data sequence in z-domain is given by  
               T   ⁡     (   z   )       =           X   ⁡     (   z   )       +     V   ⁡     (   z   )           H   ⁡     (   z   )         .             EQ   .           ⁢     (   2   )               
 
 The received signal is  
               R   ⁡     (   z   )       =         H   ⁡     (   z   )       ⁢         X   ⁡     (   z   )       +     V   ⁡     (   z   )           H   ⁡     (   z   )           =       X   ⁡     (   z   )       +     V   ⁡     (   z   )                   EQ   .           ⁢     (   3   )               
 
 and X(z) can be recovered from R(z) by performing a modulo operation. An important property of v(n) is that it only has finite levels since v(n) is a multiple of 2M and |v(n)|≦(1+Σ i=1   L     H   |h i |)M. 
 
         [0023]      FIG. 2  shows the straightforward architecture of a 2nd-order TH precoder. It has a critical path consisting of one multiplier, two adders and one modulo device. The computation time of the critical path is 
   T   Critical =2 T   a   +T   m   +T   mod ,   EQ.(4)  
 where T a , T m  and T mod  denote the computation times of an addition, a multiplication and a modulo operation, respectively (Note: T mod =0 when M is a power of 2). From the figure, we can see that the iteration bound, T ∞  (For the definition of iteration bound, please see K. K. Parhi,  VLSI Digital Signal Processing Systems Design and Implementation,  John Wiley &amp; Son, Inc., New York, 1999), of the architecture is also equal to T Critical , i.e., 
   T   ∞   =T   Critical =2 T   a   +T   m   +T   mod .   EQ.(5)  
 The achievable minimum clock period of this architecture is limited by T ∞ , i.e., we cannot operate the precoder at a speed higher than 1/T ∞ . Classical high-speed design techniques such as retiming and unfolding cannot be used to achieve higher speed since the iteration bound is a fundamental limit. Thus it is important to develop techniques to design a fast TH precoder. 
 
       A Method to Design Parallel Tomlinson-Harashima Precoders  
       [0024]     As shown in  FIG. 1 ( c ), a TH precoder can be viewed as an IIR filter with an input equal to the sum of the original input to the TH precoder and a finite-level compensation signal. Thus, it is possible to design fast TH precoders based on classical pipelining and parallel processing techniques for IIR filters.  
         [0025]     In the present invention, the first step to design a parallel TH precoder is to convert the original TH precoder to its equivalent form. Next, the classical clustered look-ahead technique is applied to the equivalent form to obtain a parallel IIR filter. The parallel IIR filter requires the compensation signal as an explicit input. To explicitly remove the compensation signal as an input, modulo devices are re-introduced to the parallel IIR filter, resulting in an intermediate parallel TH precoder. The intermediate parallel precoder still has a very long critical path. To reduce the critical path, the precomputation technique is applied. For a 2-parallel design, the resulting final architecture can achieve a speedup of about 2.  
       Parallel Tomlinson-Harashima Precoders: An Example  
       [0026]     Let us look at an example where we want to design a 2-parallel TH precoder. Consider a 2nd-order inter-symbol interference (ISI) channel described by an FIR (finite impulse response) model 
 
 H ( z )=1+ h   1   z   −1   +h   2   z   −2 .   EQ.(6) 
 
 The corresponding FIR TH precoder can be described as 
 
 t  ( n )= MOD (− h   1   t ( n− 1)− h   2   t ( n− 2)+ x ( n ), 2M),   EQ.(7) 
 
 where MOD(*, 2M) is a modulo operation by 2M. 
 
         [0027]     The equivalent form of the TH precoder in EQ. (7) can be represented as: 
 
 t ( n )=− h   1   t ( n− 1)− h   2   t ( n− 2)+ x ( n )+ v ( n ),   EQ.(8) 
 
 where v(n) is a compensation signal. The 2-stage look-ahead equation of EQ. (8) can be obtained by the clustered look-ahead technique (See, e.g., K. K. Parhi,  VLSI Digital Signal Processing Systems Design and Implementation,  John Wiley &amp; Son, Inc., New York, 1999):  
               t   ⁡     (   n   )       =         (       h   2   1     -     h   2       )     ⁢     t   ⁡     (     n   -   2     )         +       h   1     ⁢     h   2     ⁢     t   ⁡     (     n   -   3     )         -       h   1     ⁢     x   ⁡     (     n   -   1     )         -       h   1     ⁢     v   ⁡     (     n   -   1     )         +     x   ⁡     (   n   )       +       v   ⁡     (   n   )       .               EQ   .           ⁢     (   9   )               
 
         [0028]     The parallel IIR (infinite impulse response) system can be obtained by substituting n=2k+1 and n=2k+2 into EQ. (8) and EQ. (9), respectively, and is described by:  
                 t   ⁡     (       2   ⁢   k     +   1     )       =         -     h   1       ⁢     t   ⁡     (     2   ⁢   k     )         -       h   2     ⁢     t   ⁡     (       2   ⁢   k     -   1     )         +     x   ⁡     (       2   ⁢   n     +   1     )       +     v   ⁡     (       2   ⁢   k     +   1     )           ⁢     
     ⁢       t   ⁡     (       2   ⁢   k     +   2     )       =         (       h   1   2     -     h   2       )     ⁢     t   ⁡     (     2   ⁢   k     )         +       h   1     ⁢     h   2     ⁢     t   ⁡     (       2   ⁢   k     -   1     )         -       h   1     ⁢     x   ⁡     (       2   ⁢   k     +   1     )         -       h   1     ⁢     v   ⁡     (       2   ⁢   k     +   1     )         +     x   ⁡     (       2   ⁢   k     +   2     )       +       v   ⁡     (       2   ⁢   k     +   2     )       .                 EQ   .           ⁢     (   10   )               
 
 v(2k+1) and v(2k+2) can be removed as explicit inputs to the above parallel IIR filter by re-introducing a modulo operation as follows, resulting in an intermediate parallel TH precoder:  
                 t   ⁡     (       2   ⁢   k     +   1     )       =     MOD   ⁡     (           -     h   1       ⁢     t   ⁡     (     2   ⁢   k     )         -       h   2     ⁢     t   ⁡     (       2   ⁢   k     -   1     )         +     x   ⁡     (       2   ⁢   n     +   1     )         ,     2   ⁢   M       )         ⁢     
     ⁢     t   ⁡     (       2   ⁢   k     +   2     )       =       MOD   ⁡     (           (       h   1   2     -     h   2       )     ⁢     t   ⁡     (     2   ⁢   k     )         +       h   1     ⁢     h   2     ⁢     t   ⁡     (       2   ⁢   k     -   1     )         -       h   1     ⁢     x   ⁡     (       2   ⁢   k     +   1     )         -       h   1     ⁢     v   ⁡     (       2   ⁢   k     +   1     )         +     x   ⁡     (       2   ⁢   k     +   2     )         ,     2   ⁢   M       )       .             EQ   .           ⁢     (   11   )               
 
         [0029]      FIG. 3  shows the parallel equivalent IIR filter architecture for the precoder, and  FIG. 4  illustrates the intermediate parallel precoders. From  FIG. 4 , we can see that there is a long critical path which consists of five additions, two multiplications, and two modulo operations. Compared with the straightforward implementation in  FIG. 2 , the improvement is not significant. However, as the compensation signal v(2k+1) only has finite possibilities, we can use precomputation to shorten the critical path, as illustrated in  FIG. 5  (In the figure, we assume v(2k+1) has only three levels). From the figure, we can see that the critical path is reduced to two additions, one multiplication and one modulo operation and one multiplexing operation, i.e., 
   T   Critical =2 T   a   +T   m   +T   mod   +T   mux ,   EQ.(12)  
 where T mux  is the computation time of a multiplexer. The critical path in the parallel design is only one multiplexing operation longer than that in the straightforward architecture in  FIG. 2 . However, the parallel design every time processes two samples and computes two outputs. Thus, it can achieve a speedup of almost 2 since T mux  is usually much smaller than T a  and T m . 
 
       Generalization  
       [0030]     The present method to design parallel TH precoders can be used to design parallel precoder for order more than 2 and parallelism level more than 2. It can be also used to design parallel IIR TH precoders.  
         [0031]     Let us look at an example where we want to design a 2-parallel TH precoder for a 2nd-order ISI IIR channel  
               H   ⁡     (   z   )       =         1   +       b   1     ⁢     z     -   1         +       b   2     ⁢     z     -   2             1   +       a   1     ⁢     z     -   1         +       a   2     ⁢     z     -   2             .             EQ   .           ⁢     (   13   )               
 
 The corresponding TH precoder can be described as 
 
 t ( n )= MOD ( x ( n )− f ( n ), 2M),   EQ.(14) 
 
 where f(n) is the inverse z-transform of (H(z)−1)T(z). Its straightforward architecture is shown in  FIG. 6 . The critical path of the architecture is 
 
 T   Critical =4 T   a +2 T   m   +T   mod ,   EQ.(15) 
 
 and the iteration bound, T ∞ , of the architecture is 
 
 T   ∞ =3 T   a   +T   m   +T   mod .   EQ.(16) 
 
 The inherent speed is limited by the iteration bound. 
 
         [0032]     The equivalent form of the IIR TH precoder in EQ. (14) can be represented as:  
               t   ⁡     (   n   )       =         -     b   1       ⁢     t   ⁡     (     n   -   1     )         -       b   2     ⁢     t   ⁡     (     n   -   2     )         +     x   ⁡     (   n   )       +       a   1     ⁢     x   ⁡     (     n   -   1     )         +       a   2     ⁢     x   ⁡     (     n   -   2     )         +     v   ⁡     (   n   )       +       a   1     ⁢     v   ⁡     (     n   -   1     )         +       a   2     ⁢       v   ⁡     (     n   -   2     )       .                 EQ   .           ⁢     (   17   )               
 
         [0033]     If we define w(n)≡x(n)+a 1 x(n−1)+a 2 x(n−2), then EQ. (17) becomes  
               t   ⁡     (   n   )       =         -     b   1       ⁢     t   ⁡     (     n   -   1     )         -       b   2     ⁢     t   ⁡     (     n   -   2     )         +     w   ⁡     (   n   )       +     v   ⁡     (   n   )       +       a   1     ⁢     v   ⁡     (     n   -   1     )         +       a   2     ⁢       v   ⁡     (     n   -   2     )       .                 EQ   .           ⁢     (   18   )               
 
         [0034]     The 2-stage look-ahead equation of EQ. (18) can be obtained by substituting t(n−1) into EQ. (18):  
                     t   ⁡     (   n   )       =       ⁢       -     b   1       ⁢     {         -     b   1       ⁢     t   ⁡     (     n   -   2     )         -       b   2     ⁢     t   ⁡     (     n   -   3     )         +     w   ⁡     (     n   -   1     )       +     v   ⁡     (     n   -   1     )       +                           ⁢         a   1     ⁢     v   ⁡     (     n   -   2     )         +       a   2     ⁢     v   ⁡     (     n   -   3     )           }     -       b   2     ⁢     t   ⁡     (     n   -   2     )         +     w   ⁡     (   n   )       +     v   ⁡     (   n   )       +                   ⁢         a   1     ⁢     v   ⁡     (     n   -   1     )         +       a   2     ⁢     v   ⁡     (     n   -   2     )                       =       ⁢         (       b   1   2     -     b   2       )     ⁢     t   ⁡     (     n   -   2     )         +       b   1     ⁢     b   2     ⁢     t   ⁡     (     n   -   3     )         +     w   ⁡     (   n   )       -       b   1     ⁢     w   ⁡     (     n   -   1     )         +                     ⁢       v   ⁡     (   n   )       +       (       a   1     -     b   1       )     ⁢     v   ⁡     (     n   -   1     )         +       (       a   2     -       b   1     ⁢     a   1         )     ⁢     v   ⁡     (     n   -   2     )         -                     ⁢       b   1     ⁢     a   2     ⁢       v   ⁡     (     n   -   3     )       .                     EQ   .           ⁢     (   19   )               
 
 The corresponding parallel IIR system can be obtained by substituting n=2k+1 and n=2k+2 into equation EQ. (18) and EQ. (19), respectively, and is described by:  
                 t   ⁡     (       2   ⁢   k     +   1     )       =         -     b   1       ⁢     t   ⁡     (     2   ⁢   k     )         -       b   2     ⁢     t   ⁡     (       2   ⁢   k     -   1     )         +     w   ⁡     (       2   ⁢   k     +   1     )       +     v   ⁡     (       2   ⁢   k     +   1     )       +       a   1     ⁢     v   ⁡     (     2   ⁢   k     )         +       a   2     ⁢     v   ⁡     (       2   ⁢   k     -   1     )             ,           EQ   .           ⁢     (   20   )                     t   ⁡     (       2   ⁢   k     +   2     )       =         (       b   1   2     -     b   2       )     ⁢     t   ⁡     (     2   ⁢   k     )         +       b   1     ⁢     b   2     ⁢     t   ⁡     (       2   ⁢   k     -   1     )             ,       +     w   ⁡     (       2   ⁢   k     +   2     )         -       b   1     ⁢     w   ⁡     (       2   ⁢   k     +   1     )         +     v   ⁡     (       2   ⁢   k     +   2     )       +       (       a   1     -     b   1       )     ⁢     v   ⁡     (       2   ⁢   k     +   1     )         +       (       a   2     -       b   1     ⁢     a   1         )     ⁢     v   ⁡     (     2   ⁢   k     )         -       b   1     ⁢     a   2     ⁢       v   ⁡     (       2   ⁢   k     -   1     )       .                 EQ   .           ⁢     (   21   )               
 
         [0035]     v(2k+1) in EQ. (20) and v(2k+2) in EQ. (21) can be removed by re-introducing modulo operations as follows:  
                 t   ⁡     (       2   ⁢   k     +   1     )       =     MOD   ⁡     (           -     b   1       ⁢     t   ⁡     (     2   ⁢   k     )         -       b   2     ⁢     t   ⁡     (       2   ⁢   k     -   1     )         +     w   ⁡     (       2   ⁢   k     +   1     )       +       a   1     ⁢     v   ⁡     (     2   ⁢   k     )         +       a   2     ⁢     v   ⁡     (       2   ⁢   k     -   1     )           ,     2   ⁢   M       )         ,           EQ   .           ⁢     (   22   )                   t   ⁡     (       2   ⁢   k     +   2     )       =       MOD   ⁡     (           (       b   1   2     -     b   2       )     ⁢     t   ⁡     (     2   ⁢   k     )         +       b   1     ⁢     b   2     ⁢     t   ⁡     (       2   ⁢   k     -   1     )         +     w   ⁡     (       2   ⁢   k     +   2     )       -       b   1     ⁢     w   ⁡     (       2   ⁢   k     +   1     )         +       (       a   1     -     b   1       )     ⁢     v   ⁡     (       2   ⁢   k     +   1     )         +       (       a   2     -       b   1     ⁢     a   1         )     ⁢     v   ⁡     (     2   ⁢   k     )         -       b   1     ⁢     a   2     ⁢     v   ⁡     (       2   ⁢   k     -   1     )           ,     2   ⁢   M       )       .             EQ   .           ⁢     (   23   )               
 
  FIG. 7  shows the corresponding architecture for the intermediate parallel precoder described by EQ. (22) and EQ. (23). It has a long critical path consisting of two multipliers, 9 adders and two modulo devices. 
 
         [0036]     If the compensation signal v(2k+1) in  FIG. 7  has finite possibilities (this is true when the transfer function H(z) is stable), we can use precomputation to shorten the critical path, as illustrated in  FIG. 8 . In this figure, we assume v(2k+1) has only three levels. From the figure, we can see that the critical path is reduced to four additions, one multiplication and two modulo operations and one multiplexing operation. The computation time of the critical path is 
 
 T   critical =4 T   a   +T   m +2 T   mod   +T   mux .   EQ.(24) 
 
 The parallel design every time processes two samples and computes two outputs, so we can achieve a sample period 
 
 T   Sample =2 T   a   +T   m /2 +T   mod   +T   mux /2.   EQ.(25) 
 
 The computation of a multiplier is usually much longer than those of an adder and a multiplexer, and hence speedup is achieved. 
 
       Complexity and Critical Path Comparison  
       [0037]     In this section, we compare the complexity and critical path for a straightforward L-tap FIR TH precoder (Straightforward-THP), its corresponding 2-parallel design (2-Para-THP) and 3-parallel design (3-Para-THP).  
         [0038]     Table 1 compares the complexity for the straightforward L-tap FIR THP, 2-Para-THP and 3-Para THP. In this table, we assume that the number of possibilities of the compensation signal is N. The straightforward THP needs L multipliers, 2 adders and one modulo device. The 2-Para-THP needs 2L+1 multipliers. Among the 2L+1 multipliers, 2L multipliers are used for loop update for the two-parallel outputs t(2k−1) and t(2k). In  FIG. 5 , these 2L multipliers are those parts numbered as  502 ,  504 ,  506 , and  508  (The design in  FIG. 5  is a 2-parallel design of a 2-tap THP, i.e., L=2). The remaining one is used to pre-process the 2-parallel inputs x(2k+1) and x(2k+2). In  FIG. 5 , this multiplier is the one numbered as  510 . The 2-Para-THP needs L+L−1+N+1+N=2L+2N adders. Among them, L adders are used for loop update for the output t(2k−1). In  FIG. 5 , they correspond to the parts numbered as  520  and  522 . L−1+N adders are used for loop update for the output t(2k). In  FIG. 5 , they correspond to the parts numbered as  530 ,  532 ,  534  and  536  (In the figure, we assume that N=3). One adder is used for the preprocessing of the 2-parallel inputs x(2k+1) and x(2k+2). In  FIG. 5 , this adder is the one numbered as  540 . The remaining N adders are used for precomputation. These adders are numbered as  550 ,  552  and  556  in  FIG. 5 . The 2-Para-THP needs 1+N modulo devices. One of them is used for loop update for t(2k−1). In  FIG. 5 , it is numbered as  560 . The rest are used for loop update for t(2k). In  FIG. 5 , they are numbered as  570 ,  572 , and  574 . The 2-Para THP also needs one W-bit N-to-1 multiplexer (mux) (Assume that the wordlength requirement is W). In  FIG. 5 , it corresponds to the part numbered as  580 .  
         [0039]     For a 3-parallel TH precoder, we need 3L+2 multipliers, 3L+2N+2N 2  adders, 1+N+N 2  modulo devices, one W-bit N-to-1 mux and one W-bit N 2 -to-1 mux.  
         [0040]     Table 1 also lists the critical paths for the straightforward THP, 2-Para-THP and 3-Para-THP, which are 2T a +T m +T mod , 2T a +T m +T mod +T mux , and 3T a +T m +T mod +2T mux , respectively.  
         [0041]     Table 2 compares the complexity and the critical path for the straightforward L-th order IIR TH precoder (Straightforward-THP), its corresponding 2-parallel design (2-Para-THP) and 3-parallel design (3-Para-THP).  
       Conclusions  
       [0042]     A method to design parallel Tomlinson-Harashima precoders based on classical look-ahead and precomputation techniques and properties of Tomlinson-Harashima precoders. The resulting parallel TH precoders can be used for high-speed communication applications, such as 10 Gigabit Ethernet over copper.  
         [0043]     While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be understood by those skilled in the art that various changes in form and details can be made therein without departing from the spirit and scope of the invention as defined in the appended claims. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.  
                                                 TABLE 1                                   Straightforward-                   THP   2-Para-THP   3-Para-THP                                    Multipliers   L   2L + 1   3L + 3       Adders   L   2L + 2N   3L + 2N + 2N 2  + 1       Modulo   1   N + 1   1 + N + N 2         Devices       Multiplexers   None   One W-bit   One W-bit N-to-1 mux               N-to-1 mux   One W-bit N 2 -to-1 mux       Critical Path   2T a  + T m  +   2T a  + T m  +   3T a  + T m  + T mod  + 2T mux             T mod     T mod  + T mux                    
 
         [0044]    
       
         
               
               
               
               
             
               
               
               
               
             
           
               
                   
                 TABLE 2 
               
               
                   
                   
               
               
                   
                   
               
               
                   
                 Straightforward- 
                   
                   
               
               
                   
                 THP 
                 2-Para-THP 
                 3-Para-THP 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                 Multipliers 
                 2L 
                 6L + 1 
                 9L + 3 
               
               
                 Adders 
                 2L 
                 6L + 2N 
                 9L + 2N + 2N 2  + 1 
               
               
                 Modulo 
                 1 
                 N + 1 
                 1 + N + N 2   
               
               
                 Devices 
               
               
                 Multiplexers 
                 None 
                 One W-bit  
                 One W-bit N-to-1 mux 
               
               
                   
                   
                 N-to-1 mux 
                 One W v -bit N-to-1 mux 
               
               
                   
                   
                 One W v -bit 
                 One W-bit N 2 -to-1 mux 
               
               
                   
                   
                 N-to-1 mux 
                 One W v -bit N 2 -to-1 mux 
               
               
                 Critical Path 
                 5T a  + 2T m  + 
                 4T a  + T m  + 
                 6T a  + T m  + T mod  + 2T mux   
               
               
                   
                 T mod   
                 T mod  + T mux