ar, the number of look-up table entries grows exponentially according to OS, where O is the number of bits per sym- bol used in the signal sampling by the algorithm. Regarding the channel memory, this is mainly due to dispersion; when dispersion is compensated optically and only intra-channel nonlinearity is compensated by EDCT, the number of entries remains relatively small. However, for the joint compensation of chromatic dispersion and intra-channel nonlin- earity the number of states can get rapidly impractical, especially beyond 10 Gbit/s. This does not only lead to increased storage requirements but it also increases the effort that needs to be spent on computation of pre-distorted waveforms. In spite of all these challenges, the evolution of electronics technology for signal process- ing is rapidly eliminating the gap between the algorithm needs and the processing capa- bilities and similar methods are starting to be implemented in real products [93]. 5.8.5 Forward Error Correction The use of FEC is really instrumental in designing high-performance WDM systems, but has a much wider application field, comprising consumer electronics like PCs (in the trans- mission between the hard disc and the motherboard). 5.8.5.1 FEC Definition and Functionalities An FEC is from a functional point of view an extension of the well-known error-detecting code that is able to correct the channel-induced errors if the error rate is within the correc- tion ability of the code [94]. Technology for Telecommunications: Integrated Optics and Microelectronics We will consider in this paragraph systematic block group codes without memory. A code is a block code if the uncoded message is divided at the encoder in words of the same length and every word is processed by the encoder SO as to obtain a longer word (called the code word). Let us assume that the encoder receives a message constituted by a string of sym- bols extracted from the message alphabet M, a collection of M symbols, that is, M III {X;, j=1, M}. We will assume that the