June 18, 1998
Communication-systems error simulation resolves trade-offs
Trefor Delve and Mike Mulligan, The Mathworks
Complex digital communication systems are easier to design if you use
what-if simulations early in your design cycle. By carefully focusing your simulation, you
can speed results without sacrificing accuracy.
Digital communication systems are typically quite complex and involve
many stages of signal processing at both the transmitter and the receiver. At the
transmitter, signal-processing stages perform source coding to remove redundant data,
error-control coding to protect against channel imperfections, and data formatting to aid
in carrier and timing recovery. They also perform digital modulation, frequency
conversion, and amplification to produce the modulated carrier signal. At the receiver,
corresponding inverse operations recover the encoded data from the modulated carrier,
remove the channel errors, and restore the data to its original format.
It's easier to design a complex digital communication system if you use
simulation techniques early in your design cycle to explore what-if questions and to help
resolve trade-offs. In designing a simulation, it is important that you focus the model on
the design task it supports--usually, one component of the overall system. A focused,
structured simulation allows you to speed improvement without sacrificing accuracy.
Error-control coding is one of the more complex functions in a digital
communication system. In many cases, simulating the decoding algorithm is a
challenge--it's even more of a challenge to simulate error-control coding as part of a
system that uses a particular modulation technique over a specified channel. Your success
lies in your ability to determine how much effect the rest of the system has on the
error-control component and, therefore, how best to model the rest of the system.
Even in a
simplified digital communication system, trying to simulate the error-control coding in
isolation can be a problem (Figure 1). You must
account for the performance of the modulator -channel-demodulator
chain, but you do not necessarily have to include models for the modulator, channel, and
demodulator in your simulation.
First, optimize coding techniques
You can
shorten the simulation process by removing the modulation and demodulation stages and
inserting errors directly in the data stream to the decoder. You derive the statistical
characteristics of these errors from your modulation scheme. In effect, you replace the
modulator-channel-demodulator chain with an equivalent channel (Figure
2). For standard modulation techniques, such as FSK, phase-shift keying
(PSK), or quadrature amplitude modulation, these perform-ance curves are well-defined;
therefore, you can use a theoretical description of the error performance to estimate the
bit-error rate of the equivalent binary channel.
This approach produces good profiles of error-rate statistics without
the lengthy, computationally intensive modulation schemes that even symbol-rate
simulations require. The example in this article illustrates a decoding algorithm that
uses hard decisions, although the technique is equally applicable to soft-decision
decoders. This technique is quite valuable because you can concentrate on evaluating the
performance of the error-coding technique rather than on evaluating the performance and
accuracy of the modulation and demodulation.
If you want more accurate information or don't know the characteristic
error patterns because the modulation scheme is not well-known, then you have to simulate
the modulation to estimate the performance curve in the model. You can then model the
equivalent channel, and you no longer need to simulate the modulation and demodulation. To
make this approach work, you must determine the error-distribution curves that result from
your modulation scheme.
Word-oriented error patterns
To characterize the performance of an error-correction-coding technique,
simulate the errors you would typically expect from the modulation technique you are
using. For example, consider a mobile-radio communications terminal that uses Golay
error-correction coding (see box "Golay coding advances error
detection and correction"). Golay coding corrects error patterns and is
often used in systems that use hard-decision decoding.
With a multiple-phase-shift-keying modulation scheme, you can represent
the probability of a symbol error where erfc is the well-known complementary error
function, and Es/N0 is the ratio of energy in the symbol to the
noise power spectral density (N0). In terms of bit energy:
(1)
Given a message length of L bits, the number of symbols in the message
is:
(2)
The probability distribution of errors in the vector is given by:
(3)
where j is the number of symbols in the error, and:
(4)
For 8-PSK, Eb/N0
of 5 dB, and a message length of 48, the probability distribution is given by Equation
4 from Figure 3. From Equation
4, the symbol-error probability is given by:
(5)
which is identical to Equation 1.
To verify the distribution, you can evaluate Equation
6 and Equation 1 for a given set of
parameters. For example, using 8-PSK, Eb/N0
of 5 dB, M=8, and a message length of 48, Equation 1
yields PE= 0.0955, and Equation
6 produces PS=0.0955.
Because the
two approaches yield the same results, you can use this distribution
to represent the symbol errors in a binary vector.
Using The Mathworks (www.mathworks.com)
CoToolboxmmunications , you produce a binary vector, s, with a probability distribution
described by Equation 4. Equation 4
represents the occurrence of a symbol error and determines which of the input symbols will
be corrupted by noise, but not by how much. Vector s is represented by:
(6)
where si is either 0 or 1. A second vector, d, containing
uniformly distributed integers in the range 1... M-1, represents the symbol errors applied
to symbol vector s.
(7)
A vector contains the applied symbol errors:
(8)
where the elements of e are computed modulo M. In Matlab, this appears
as Listing 1.
To apply bit errors, the algorithm must convert the error vector, e,
into its symbol-by-symbol binary equivalent. The resultant vector, w, is a 1×N log2(M)=1×L
vector that you can apply directly to the input word, x. The output word, y, is given by:
(9)
where (plus
circle) indicates modulo 2 addition.
Error-correction coding
By using Simulink to create a schematic model of the terminal's
modulation and coding process, you can simulate the error performance of the system and
compare it with the theoretical performance and the performance of the system with the
conventional modulator/demodulator arrangement.
 The model implements
Golay coding in the encode-word block (Figure 4).
The block encodes a 24-bit message using the extended Golay-coding algorithm to produce a
48-bit code word. In the encode-word subsystem, the encoding algorithm processes and
interleaves the message (Figure 5).
The Golay
encode-word block contains the Golay-coding subsystem (Figure
6). This subsystem adds 12 parity bits to the 12 bits of the message,
allowing you to locate and correct the error. Following the coding operation, the model
interleaves the code word (now 48 bits long) and passes it to the modulator for
transmission.
 You can remove the
modulation/noise/demodulation sections of the model and directly generate errors for the
theoretical estimation of the bit- and symbol-error rates (Figure
7). The add-bit-errors-directly block contains the subsystem for generating
estimated bit-error and symbol-error-rate vectors (Figure 8).
Examine results for validity
In comparing
these two techniques, do not sacrifice accuracy by replacing the modulator and demodulator
with an equivalent error channel. Error-rate comparisons demonstrate that this technique
of replacing the modulator, channel, and demodulator with an equivalent hard-error channel
leads to no noticeable sacrifice of fidelity in the results (Figure 9). The two methods agree quite well with
each other, and they agree with the easily obtained theoretical expressions for the
channel symbol- and bit-error rates.
You can also use the plot of the simulation results to demonstrate the
effectiveness of the error-correction-coding scheme. Note that the coded-bit-error rate is
significantly lower than the uncoded-bit-error rate; hence, Golay error correction
improves the system-bit-error rate. Once again, the plot shows good agreement between the
two simulation techniques.
The
simulation-efficiency benefit is quite significant. You can see this benefit in a
comparison of the time taken to produce results by generating errors directly versus the
more straightforward approach of modulating the data, sending it over the channel, and
demodulating it to simulate errors (Figure 10).
Simulations based on the straightforward approach may employ
multiple samples per symbol; therefore, the speed comparison in the figure is plotted as a
function of the modulation oversample ratio. Simulations with multiple samples per symbol
might be useful to investigate demodulator performance, but this type of simulation is
inadvisable for investigations of error-correcting performance.
The primary benefit of a focused simulation approach is reduced
simulation runtimes. A secondary benefit is that by reducing the complexity of the
simulation model, you reduce the time it takes to produce the simulation. Although this
example focuses on error correction, you can apply the same technique to the analysis and
design of many other communication-system components. The combination of these techniques
with analysis and simulation tools, such as Matlab and Simulink, can greatly aid you in
the design of complex digital communication systems. |