This horizontal-vertical structure results in a product code. Built from linear block codes, product codes have the property that all rows as well as all columns form code words. In general, different codes can be used for both the horizontal and the vertical blocks. This allows for a wide variety of code rates and block sizes. Plus, 3D codes are possible.
Decoding is performed one block at a time. All horizontal blocks are decoded, and then all the vertical blocks are decoded, or vice versa. The decoding procedure is iterated several times to maximize the decoder's performance.
The performance of a Turbo Code is best determined by computer simulation. The performance of a Turbo Product Code (TPC) that's built from the (64,57) code used in both the x and y dimensions is shown in Figure 4. This code is called the (64,57)2 TPC or the (4096,3249) TPC. Included also is a bit-error-rate (BER) plot of data transmitted without coding on the AWGN channel. The difference in signal-to-noise ratio (Eb/No) between the code's BER performance curve (BER simulation) and the uncoded BER performance curve, at some specified BER, is referred to as the coding gain of the code.
Simulation software, as well as a hardware evaluation board for this code and many other TPCs, is available from Efficient Channel Coding Inc. (www.eccincorp.com). In addition, TPC ASICs that support this code and others are available from Advanced Hardware Architectures (www.aha.com).
Typically, the metric used to evaluate the quality of service (QoS) of a communications channel is BER. It isn't always the best metric to use, though. For instance, in packet networks, any number of bit errors within a packet constitutes a packet error. When this happens, the packet is usually discarded and a retransmission is requested. In that case, a more appropriate QoS metric is the packet error rate.
A consequence of using powerful FEC is that when a single error event occurs, several bits are very often actually in error. As such, the packet-error-rate performance is close to the BER performance.
If no coding is used, packet errors come from the random unrelated occurrences of bit errors. Typical packet error events have only one bit in error in the entire packet. As a consequence, the packet-error rate is significantly greater than the BER. This can be seen in the uncoded code-block error rate (CER) curve of Figure 4. In that example, we set the packet size to the codeblock size of 3249 bits.
The (64,57)2 TPC simulation results show exceptional performance to within 1.2 dB of the theoretical Shannon capacity limit. Using antipodal modulation, BER = 10-6, and code rate = k/n = 0.8. Larger block sizes can narrow this gap even further.
Benefits Of Using FEC
FEC independently increases the reliability of data at the receiver. Within a system context, FEC becomes an enabling technology that the system designer can use in several ways. The most obvious advantage of using FEC is with respect to power-limited systems. Through the use of higher-order signaling, however, bandwidth limitations also can be addressed.