Exploring communications technology
Exploring communications technology

Start this free course now. Just create an account and sign in. Enrol and complete the course for a free statement of participation or digital badge if available.

Free course

Exploring communications technology

2 Error control

Communication channels always suffer from noise, and consequently errors are unavoidable in digital communication. For example, you saw in Section 1 how noise can lead to QAM constellation points being misinterpreted for neighbouring points. The more noise there is, the greater is the likelihood of this kind of misinterpretation. Although the likelihood of errors can be reduced, for example by transmitting a more powerful signal, it can never be eliminated. Strategies such as using more powerful signals can, in any case, lead to further problems, such as increased interference with other communication channels or additional running costs.

When errors occur, they can sometimes be detected or corrected. This is error control. An everyday example of error control is the barcode, as in Figure 2.1. Figure 2.1 is known as an EAN-13 code. These codes are widely used as identifiers for articles such as books and other consumer items. The pattern of narrow and broad lines represent the 13-digit number shown below the lines. Scanners can read the pattern of lines and work out the number represented. Sometimes, though, the pattern is misread – perhaps because the code is unclear or damaged, or the scanner was not used properly.

A misread code produces an incorrect number, which the scanning system recognises as incorrect. Usually a warning sound then indicates that re-scanning is needed. How does the system know that the number has been misread? I will look at this in more detail shortly, but in essence only certain EAN-13 codes are valid, and valid codes are greatly outnumbered by invalid codes. Although a valid code could conceivably be misread as a different but valid code (so that, for example, a box of biscuits might be mistaken for a book), it is much more likely that misreading code will produce an invalid code – just as a random assortment of letters is more likely to be nonsense than a valid word.

The error control incorporated in EAN-13 codes is known as error detection. Another type of error control is error correction. Error correction not only allows you to know if there is an error in a code, but also corrects the error and recovers the intended data. Later on, we will look at Reed-Solomon coding, which is a widely-used method for error correction.

In this audio Allan Jones talks to David Chapman, the author of Section 2, about some of these issues.

Download this video clip.Video player: tm355_openlearn_002-640x360.mp4
Skip transcript


Hello, again. I’m Allan Jones, and I'm talking now to David Chapman, who produced the material in Section 2 of this course. Hello, David.
With digital data, two important concepts relating to its representation and transmission are source coding and channel coding. First of all, what is source coding?
Source coding is about representing a source, such as text, audio, pictures or video, by patterns of binary bits. So with a text file, we need some way of representing the letters of the alphabet by patterns of bits. The so-called ASCII code is one standardised way of doing that, using seven binary bits for each character.
For example, in ASCII code, the letter A is coded to 1100001, and the letter B is coded to 1100011. Anything we want to send over a digital communication system must first be coded like this, be it text, audio, or whatever.
OK, so what’s channel coding.
Having got the source represented by bits, we might need to send those bits over a communication channel. But there are things you can do with the bits before turning them into waveforms on the channel, things that can make the communication work better. This is channel coding. It consists of taking bits or groups of bits and changing them into different groups of bits.
So for example, the ASCII code for the letter A, which as I said before, is 1100001, might be changed by adding an extra digit, a one in this case, at the end. With the added digit, what we now call the code word, becomes 11000011.
OK, so the net effect of that is you’ve turned a representation of A that used seven binary digits into one that uses eight. So what do you gain by doing that?
Well, what we gain is the possibility of error control. And in fact, you could say that the main job of channel coding is error control. Error control consists of either error-detection or error-correction. Error-detecting codes enable the receiver to work out if there’s been any errors in transmission. Error-correcting codes go further and enable the receiver to correct errors that have arisen in transmission.
Adding the one bit to the ASCII code is an example of an error-detecting code known as a parity check. The added digit is chosen so as to ensure that the number of ones in the code word is even. So in this example, there were originally three ones in the ASCII code for the letter A, and that’s an odd number. Adding another one at the end increases the number of ones to four, which is an even number. With the parity check in place, it’s possible to tell if there’s been a single error in transmission, because a single error anywhere in the code word will result in the received code word having an odd number of ones.
OK, you’ve mentioned error-correcting codes as another branch of error control. Error-correction enables the receiver itself to fix errors that arise in transmission without the need to request re-transmission. That sounds too good to be true. So how is it possible?
Actually, it’s quite easy to see one way to do error-correction. Just send every bit three times. So instead of one, you send three ones, 111. Instead of a zero, you send 000. So what’s transmitted consists entirely of groups of three ones and three zeros. If there’s an error in a group of three ones, the receiver will get two ones and a zero instead.
Alternatively, if there’s an error in a group of three zeros, the receiver will get two zeros and a one instead. In either case, you can correct the error by taking a majority decision. A group of two zeros and a one was meant to be three zeros. A group of two ones and a zero was meant to be three ones. Something to notice here is that, once again, error control has required extra bits to be added, as with error-detection.
So if you can correct errors, why bother trying to avoid them?
Error control, whether it’s error-detection or error-correction, has its limits. Error-correcting codes can't correct an unlimited number of errors. If you get too many errors in a period of time, the error-correcting properties of the code are defeated. That means some errors can still sneak through without being spotted by error-detecting codes.
Furthermore, you pay a price for using error-control codes. You'll always need extra bits, such as the addition of the parity bit to the ASCII code that I mentioned before or the tripling of the number of bits by sending every bit three times to get error correction. In that sense, there’s a reduction in efficiency with error control. Advanced error-correcting codes aren’t as inefficient as the example of tripling the number of bits, but they do still require significant numbers of extra bits.
Well, thanks, David.
End transcript
Interactive feature not available in single page view (see it in standard view).

Take your learning further

Making the decision to study can be a big step, which is why you'll want a trusted University. The Open University has 50 years’ experience delivering flexible learning and 170,000 students are studying with us right now. Take a look at all Open University courses.

If you are new to University-level study, we offer two introductory routes to our qualifications. You could either choose to start with an Access module, or a module which allows you to count your previous learning towards an Open University qualification. Read our guide on Where to take your learning next for more information.

Not ready for formal University study? Then browse over 1000 free courses on OpenLearn and sign up to our newsletter to hear about new free courses as they are released.

Every year, thousands of students decide to study with The Open University. With over 120 qualifications, we’ve got the right course for you.

Request an Open University prospectus371