on FEC. Let us assume that in a given time interval exactly m bits are transmitted and of these k are infor- mation-bearing bits. Consequently, the number of "redundant" bits, which are the ones used for error correction coding, is (m - k). Our first definition is the "rate" of the error correction code being used: RFEC = k/m, which is the ratio of the number of information-bearing bits to the total number transmitted. Another defined quantity is the "overhead" of a code that has a rate RFEC: w = (1 - RFEC) / RFEC. In terms of our integers m and k, the overhead can be re-expressed as w=(m - k)/k. Coding overheads are often written as percentages, with typical values in the range of 5 to 15 percent. A third definition is the "redundancy" of the code: = RFEC) = w/( + w) )=(m-k)/m. Clearly, all of these quantities are related and SO are equivalent ways of specifying some of the properties of a code. The majority of error-correcting codes currently used in optical communications are most effective when the dominant cause of bit errors is noise. This can be a combination of thermal and shot noise, as well as the important contributions from the amplifiers in the system. We saw in the section on bit error rate that when we can ignore the nonlinear effects in the fiber, the BER of a noisy channel can be improved by increasing the incident power on the receiver. An equivalent way of saying the same thing is that we must raise the optical energy of the 1s in the bitslots. The effect of an error-correcting code is rather similar. In the absence of nonlinear crosstalk, we can improve the bit error rate from a high value, BERhigh, to a low value, BERLOW, either by increasing the average energy of the pulses incident on the receiver or by applying an error-correcting code. We are now able to explain another concept that appears in the FEC literature, known as "coding gain" (sometimes referred to as "net effective coding gain" in optical communi- cations papers). We assume OOK modulation, as defined in the early section on opt