EDN Access

PLEASE NOTE:
FIGURES WILL LINK
TO A PDF FILE


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.

\TEXT\IMAGES\EDN\LINE\13MS3951Even 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

\TEXT\IMAGES\EDN\LINE\13MS3952You 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)

\TEXT\IMAGES\EDN\LINE\13M3953For 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.

\TEXT\IMAGES\EDN\PERM\13M395LBecause 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.

\TEXT\IMAGES\EDN\LINE\13MS3954\TEXT\IMAGES\EDN\LINE\13MS3955The 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).

\TEXT\IMAGES\EDN\LINE\13MS3956The 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.

\TEXT\IMAGES\EDN\LINE\13MS3958\TEXT\IMAGES\EDN\LINE\13MS3957You 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

\TEXT\IMAGES\EDN\LINE\13MS3959In 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.

\TEXT\IMAGES\EDN\LINE\13M39510The 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.

Golay coding advances error detection and correction

In the search for a "perfect" code, MJE Golay in 1949 realized that:

This equation indicated the possibility that a perfect code existed--a code that corrects all combinations of three or fewer errors. (A perfect t-error-correcting code is a code that represents all combinations of t or fewer error patterns and no others.)

Golay found that a perfect code did exist. The coding notation (23,12) indicates that each 12 bits of message produces 23 bits of code word are produced. The additional 11 bits allow you to identify and correct the error combinations. In the example in the main text, you modify the perfect (23,12) code by adding an additional parity bit, so the code becomes a (24,12) extended-Golay code. The desire to produce a one-half-rate code, which is generally easier to implement, motivates this modification.

First, define the key variables used in encoding. The code word, u, is generated from the message word, m, by this matrix multiplication:

u=mG,

where G is the generator matrix, which you can further partition as:

   

where P is the parity generation matrix and Ik is the k×k identity matrix.

\TEXT\IMAGES\EDN\LINE\13MS395AA feature of this coding method is that the code is described as systematic, that is, the original message appears in the code word, u. You can determine the specifics of G from a number of sources, for example, a military terminal (Reference A). Figure A schematically represents the encoding process.

For decoding, because the code word is systematic, you can directly extract the message if there are no errors. However, the absence of errors would eliminate the need for a coding scheme. In the presence  of errors, which is the meaningful case, you can represent the received code word by:

r=u+e,

where e is the vector of errors added to the original word.

To begin error detection, you require a parity-check matrix. This matrix relates closely to the generator matrix and is represented as:

The parity-check matrix requires that the rows of G are orthogonal to the rows of H (Reference B). When you fulfill this requirement, then:

uHIT=0.

This error-correction method is not to determine the position of the error explicitly from the code word but rather to determine the effect of the error on the product of the code word and the parity-check matrix. Thus, after generating a syndrome of the error, you look for the symptom of the error rather than the error itself.

The syndrome is defined as:

S=rHIT.

However, because r=u+e, then:

S=(u+e)HIT

=uHIT+eHIT.

As uHIT, then:

S=eHIT.

Thus, you can use the syndrome to identify the original error pattern.

\TEXT\IMAGES\EDN\LINE\13MS395BIn the design of the decoder, you identify the associated syndrome by generating all of the possible error patterns (Figure B). You then use this syndrome pattern to determine the error and thus make the correction.


References

  1. "Interoperability and Performance Standards for Medium and High Frequency Radio Equipment," Military Standard MIL-STD-188-141A, September 1992.

  2. Sklar, Bernard, Digital Communications: Fundamentals and Applications, Prentice Hall, 1988

Authors' biographies

Trefor Delve is a development engineer in the communications group at The Mathworks Inc (www.mathworks.com). He was a communications systems engineer at NEC Technologies (UK), where he worked on GSM cellular radio, and he performed CDMA communications research for the Defense Research Agency (UK).

Mike Mulligan is an applications engineer on the applications-development team at The Mathworks Inc (www.mathworks. com), where he specializes in communications and DSP. He was a communication-systems engineer at ViaSat, Mitre, and Linkabit and has taught at Marquette University (Milwaukee) and Northeastern University (Boston). He holds a PhD from Northeastern University.


| EDN Access | Feedback | Table of Contents |


Copyright © 1998 EDN Magazine, EDN Access. EDN is a registered trademark of Reed Properties Inc, used under license. EDN is published by Cahners Business Information, a unit of Reed Elsevier Inc.