With wireless and optical communication architectures moving to higher speeds, error correction and BER performance havebecome the keys to success. Luckily, new turbo decoding methods have been developed to meet the performance demands of
these systems.
Next-generation wireless and optical communication designers are running into hard limits when it comes to increasing
data transmission rates and reducing errors. Making the design task more difficult, these two factors are typically in
opposing balance: minimize bit error rate (BER) and data rates suffer, increase transmission rates and data integrity is
compromised.
To answer these design challenges, a new class of forward error correction (FEC) codes known as turbo codes has been
introduced that can simultaneous-ly improve data throughput and reduce BER. Through the use of turbo codes,
designers gain more design options while reducing costs, making system development a bit easier - megabits easier,
in fact.
There are a variety of turbo decoding techniques on the market today to address the needs of next-generation wireless
infrastructure designs. Two techniques that are gaining popularity are turbo product codes and enhanced turbo product
codes. Let's take a more detailed look at these turbo coding approaches.
Encoding circuitry
FEC encoding circuitry inserts error-correction bits into a packet of data prior to transmission. (see Figure 1) The
decoder at the receiving end will employ the error-correction bits to first determine if an error exists in the received
data, and then to correct the errors if they fall within the error-correction capability of the code.
One way to improve the error-correction capability of a given class of error-correction codes is to increase the amount
of error-correction bits added to each packet of code to be transmitted. The drawback is that this lowers the code rate,
thereby consuming bandwidth. Data integrity is increased, but at the expense of throughput.
Even today, some communication systems (such as 802.11-compliant wireless LANs [WLANs]) do not use FEC and thus
do not have the ability to reconstitute damaged data. By using relatively simple error-detection schemes such as a
cyclical redundancy check (CRC), these systems may incorporate a resend strategy that will detect an error at the
receiving system and request a retransmission of damaged packets.
Requests for resends, coupled with the retransmissions, consume bandwidth and increase latency. When a data link
degenerates to a certain point, the resend strategy will potentially be far more costly in terms of throughput and
bandwidth than a system that uses FEC.
FEC attempts to avoid unnecessary consumption of bandwidth and increased latency by putting the burden of
correct-ing the data on the receiver. FEC eliminates the need for resends, allowing designers to either re-duce
bandwidth or increase data rates. The inclusion of FEC in communication systems is a major factor that allows
designers to balance range, antenna size, and other system attributes that could lead directly to reductions in system
costs.
For example, if a designer chooses to decrease the system power, smaller and therefore less-expensive power
amplifiers can be used. For real-time systems that require a guaranteed throughput or in systems without a reverse
channel, FEC is the only practical solution.
Several flavors
Traditional FEC codes come in several flavors, including Reed-Solomon codes (RS), Viterbi, and the concatenation RS
with convolutional codes often referred to as RS Viterbi (RSV). The most common technology currently used for
decoding convolutional codes is with a Viterbi decoder and thus many people refer to these codes as Viterbi codes. RS
and RSV have been the standard for error correction for many years and have made major contributions to the
performance of systems utilizing these codes.
The latest FEC technologies to become commercially available are a class of codes known as turbo codes. Turbo codes
get significantly closer to the theoretical maximum of coding efficiency, known as the Shannon limit.
This is a hard limit dictated by theoretical considerations of the communication channel and the modulation techniques
being employed.
In order to understand the performance comparisons between RS, Viterbi, RSV, the Shannon limit, and a commercially
available turbo code, let's turn to Figure 2 . This figure is a BER versus signal-to-noise ratio (SNR) - measured as Eb/No
- plot.
In Figure 2 , a turbo code is compared to a commonly used Viterbi-decoded convolutional code as well as against an
RSV code with depth-two interleaving. The codes were chosen such that the code rates were approximately equal. The
magenta curve to the left is the Shannon limit for antipodal modulation with a rate 0.8 code. The heavy black curve
across the plot is for uncoded binary phase-shift keying (BPSK)/ quadrature phase-shift keying (QPSK) modulation.
These curves were all generated assuming an additive white Gaussian noise (AWGN) channel.
Sorting through the differences
As Figure 2 illustrates, not all FEC codes are alike. There are fundamental differences between codes that have been
long in use and the new turbo codes. In systems using RS, convolutional codes (with Viterbi decoding), or a
combination of the two, an incoming transmission is decoded once. The decoder then issues a hard-decision output.
Turbo codes, on the other hand, employ an iterative decoding scheme. The notion of using an iterative decoding
approach for block codes was described in literature from the early 1980s and was reintroduced by French researchers
in 1993 by applying the same technique to parallel concatenated convolutional codes.1,2 The French called the
iterative decoding technique "turbo codes," likening it to the performance improvements that an automotive
turbo-charger achieves compared to standard engines.
Since turbo codes are iterative, the intermediate output from a turbo decoder retains the soft confidence information,
which is then passed back through the decoder multiple times, improving the overall quality of the error correction with
each iteration. Using soft data from the receive demodulator, a confidence value is assigned to each received bit. This
confidence value is used to indicate the relative probability that the bit is a logic 1 or 0. The decoder iterates on this
information to come to the best possible solution before making a final decision and providing a hard decision output
(see Figure 3 ).
The iterative process employed by a turbo decoder is similar to how one works a crossword puzzle in pencil. The first
pass through a crossword puzzle is likely to still have a few errors. That is to say, solutions that seem to fit, but when
the letters intersected by a row and column do not match, one goes back and corrects the first-pass answers.
The turbo coding techniques described by French researchers were based on convolutional codes (i.e. TCCs), which
exhibited some problems. Though efficient at high BERs (10-3 to 10-5), the initial turbo codes described in 1993
exhibited a troublesome error floor that precluded the use of this coding scheme in communication systems that
required BERs of less than one part in one million (10-6). Another problem with turbo codes at the time was that the
known decoding algorithms were so complex, that they precluded the development of commercially viable ICs.
TPCs emerge
In 1998, researchers re-introduced the iterative decoding of block codes using an ultra-efficient decoding algorithm.
This enabled the introduction of the first commercially viable turbo code IC based not on convolutional codes, but on
the same block codes that had been described 20 years earlier.
These turbo product codes (TPCs), as they are now called, use extended hamming and parity block codes in a two- or
three-dimensional matrix, hence the term "product code." It is this multidimensional use of block codes, along with the
power of iterative decoding, that combines to form coding technology that outperforms all other codes at high code
rates and in particular, at the quasi-error-free BERs required of many wireless communication systems.
Since their re-inception, TPCs have been providing big benefits to wireless and optical system designers. At low BERs,
TPCs can buy increases in coding gain over concatenated RS and convolutional (Viterbi) coding. With additional coding
gain, a designer can double data throughput, for example, or reduce required bandwidth. Other alternatives include
increasing transmission range, reducing antenna size, or reducing transmitter power.
Burst-error performance
One of the main benefits that a designer can achieve by moving to TPCs is improved burst-error performance. TPCs
have been shown to provide excellent burst-error performance without incurring the additional complexity and
associated latency of interleaving multiple code blocks.
One of the keys to this capability is the structure of the code itself. Organized as a two- or three-dimensional array of
constituent block codes, burst errors that exceed the error-correction capabilities of a single row of the code are readily
corrected when the corresponding columns of the array are decoded. Transmitting the code block in a helical fashion
can nearly double burst-error capability.
Figure 4) shows how the data bits are transmitted in a helical fashion. For a typical code block of 64 rows and columns
(4 kb), the TPC code block can readily handle burst-error events of up to 384 b without interleaving. In comparison, the
typical RS (2-kb block, t = 10) code interleaved to depth two, can handle burst-error events up to 160 b without
erasure information and up to 320 b if erasure information is available.
To test the need for burst-error requirements in a physical system, a line-of-sight laser communication system was set
up. Modulating a low-cost laser pointer at one end of the link and using a credit card sized plastic fresnel lens, photo
diode detector, and demodulator at the other end, the mile-long data link was able to operate nearly error-free under
normal weather conditions. In light rain, the physical interruption of the light beam by individual raindrops created
burst errors typically once in every 1000 B. These burst-error events typically lasted 3 to 4 B in duration.
In heavy rain (larger raindrops), the burst events expanded out to typically 8 B in duration. Snow conditions produced
similar results. In both cases, a TPC code can readily achieve 100% error correction as well as provide additional
coding-gain headroom for extended range.
Although TPCs have taken a big step toward meeting the error-correction demands of next-generation wireless and
optical communication architectures, further en-hancements are still possible. As an example, work has been underway
during the past few years to produce an enhanced version of the basic TPC architecture. From this work, a new flavor
of TPCs has emerged known as enhanced TPCs (eTPCs).
eTPC coding technology has important implications for systems that demand the utmost in data reliability. eTPCs are
based on a combination of TPC technology and patented architectures developed by the Canadian government's
Communication Research Center. This approach adds yet another dimension to the TPC calculations - a diagonal
dimension.
When using eTPCs, the minimum distance of the code is increased by about 50 percent. In addition, the number of
code words at this minimum distance is reduced, providing a steeper BER curve as well as a BER curve, where the
associated asymtotic coding bound is lowered by several orders of magnitude. The end result is no BER curve flaring to
below 10-12. This is in contrast to the standard BER curve flare of approximately 10-7 experienced by typical TPCs
(see Figure 5).
With the addition of this hyper axis to TPCs, an additional 1 dB or more of coding gain (at low BERs) can be achieved
for those TPC codes that use a parity code as one or more of the constituent codes. This dramatic increase in coding
gain is most evident with high code rates.
Figure 6 shows a representative example for a high-rate (0.81) eTPC. In this case, the selected code will follow its
performance trajectory until it hits its asymtotic bound at about 10-19, where the code will then follow the bound.
Overall, eTPC technology can deliver up to a 3-dB coding gain compared to the traditional RSV approaches employed in
current wireless architectures. In fact, an eTPC codec has been developed that can be operated in full-duplex mode
and supports the most widely used modulation schemes, including BPSK, QPSK, 8-PSK, 16-level quadrature amplitude
modulation (16-QAM), 64-QAM, and 256-QAM. This code runs at 155 Mbps (OC-3 data rates) and also supports helical
interleaving, synchronization mark insertion and detection, CRC computation, scrambling, as well as higher-order
modulation symbol mapping.
Applications and codes
The demand for greater data throughput is increasing for all communication systems, and will continue to grow. At the
same time, tolerance for data errors and data latency is diminishing, and that trend will likewise persist. These
demands play directly to the strength of TPCs and eTPCs.
TPCs and eTPCs bring the most value for communication systems that have high data rates, require low coding
overhead, and exhibit the need for the utmost in data integrity. These include fiber-optic transmission systems, direct
broadcast satellite (DBS), next-generation WLANs, and broadband wireless access systems.
One application that is particularly attractive for TPCs is broadband wireless. Broadband wireless systems, such as
local multipoint distribution service (LMDS) and multichannel multipoint distribution service (MMDS) architectures,
employ high data rate (typically greater than 100 Mbps), point-to-multipoint data links to provide broadband services
for voice, video, and data. These systems use microwave RF signals in a line-of-site fashion to avoid the installation
issues required with cable and wireline access media. The use of FEC can considerably improve the performance-cost
metrics associated with these systems.
As in any wireless system, broadband wireless systems can be hindered by multipath inter-ference. Furthermore, the
broadband wireless spectrum is in the micro-wave range, which can be affected by factors that do not impact wireless
systems at lower frequencies, such as FM radio or television. Atmospheric conditions, such as rain or snow, can greatly
affect the signal power that reaches the receiver. Also typical of wireless systems, burst noise from household
appliances and other electronic systems can degrade the quality of the received signal.
TPCs and eTPCs are an attractive option for broadband wireless systems due to their ability to handle a wide range of
code rates with a single unified decoder. For example, when there are poor channel conditions, such as rain fade, the
code can be readily changed to a more powerful, lower code rate to improve error correction. When conditions improve,
the system can go back to original settings.
This "code change on the fly" can also allow for multiple-channel systems to multiplex a single decoder, with different
codes for each channel. In fact, TPC codecs can readily handle code rates from 0.25 to 0.98, while providing
outstanding coding gain over the entire range.
About the Author
Dave Williams is the product manager for communication products at Advanced Hardware Architectures, Inc. Prior to
joining AHA, Williams worked as a senior staff engineer with L-3 Communications in Salt Lake City, UT. He received a
BSEE from the University of Akron, Ohio and may be reached at davew@aha.com.
References
- Tanner, R., "A Recursive Approach to Low Complexity Codes," IEEE Transactions on Information Theory, vol. IT-27,
no. 5, September 1981.
- Lin, S. and Costello, D., Error Control Coding: Fundamentals and Applications, Prentice-Hall, Englewood Cliffs, 1983,
pp. 274-277.
- Elias, P., "Error-Free Coding," IRE Transactions on Information Theory, PGIT-4, September 1954, pp. 29-37.