Explained: The Shannon limit

January 19, 2010 by Larry Hardesty, Massachusetts Institute of Technology
Claude Shannon's clever electromechanical mouse, which he called Theseus, was one of the earliest attempts to teach a machine to learn and one of the first experiments in artificial intelligence. Photo: Bell Labs

It's the early 1980s, and you’re an equipment manufacturer for the fledgling personal-computer market. For years, modems that send data over the telephone lines have been stuck at a maximum rate of 9.6 kilobits per second: if you try to increase the rate, an intolerable number of errors creeps into the data.

Then a group of engineers demonstrates that newly devised error-correcting codes can boost a modem’s transmission rate by 25 percent. You scent a business opportunity. Are there codes that can drive the data rate even higher? If so, how much higher? And what are those codes?

In fact, by the early 1980s, the answers to the first two questions were more than 30 years old. They’d been supplied in 1948 by Claude Shannon SM ’37, PhD ’40 in a groundbreaking paper that essentially created the discipline of . “People who know Shannon’s work throughout science think it’s just one of the most brilliant things they’ve ever seen,” says David Forney, an adjunct professor in MIT’s Laboratory for Information and Decision Systems.

Shannon, who taught at MIT from 1956 until his retirement in 1978, showed that any communications channel — a telephone line, a radio band, a fiber-optic cable — could be characterized by two factors: bandwidth and noise. Bandwidth is the range of electronic, optical or electromagnetic frequencies that can be used to transmit a signal; noise is anything that can disturb that signal.

Given a channel with particular and noise characteristics, Shannon showed how to calculate the maximum rate at which data can be sent over it with zero error. He called that rate the channel capacity, but today, it’s just as often called the Shannon limit.

In a noisy channel, the only way to achieve zero error is to add some redundancy to a transmission. For instance, if you were trying to transmit a message with only three bits, like 001, you could send it three times: 001001001. If an error crept in, and the receiver received 001011001 instead, she could be reasonably sure that the correct string was 001.

Any such method of adding extra information to a message so that errors can be corrected is referred to as an error-correcting . The noisier the channel, the more information you need to add to compensate for errors. As codes get longer, however, the transmission rate goes down: you need more bits to send the same fundamental message. So the ideal code would minimize the number of extra bits while maximizing the chance of correcting error.

By that standard, sending a message three times is actually a terrible code. It cuts the data by two-thirds, since it requires three times as many bits per message, but it’s still very vulnerable to error: two errors in the right places would make the original message unrecoverable.

But Shannon knew that better error-correcting codes were possible. In fact, he was able to prove that for any communications channel, there must be an error-correcting code that enables transmissions to approach the Shannon limit.

His proof, however, didn’t explain how to construct such a code. Instead, it relied on probabilities. Say you want to send a single four-bit message over a noisy channel. There are 16 possible four-bit . Shannon’s proof would assign each of them its own randomly selected code — basically, its own serial number.

Consider the case in which the channel is noisy enough that a four-bit message requires an eight-bit code. The receiver, like the sender, would have a codebook that correlates the 16 possible four-bit messages with 16 eight-bit codes. Since there are 256 possible sequences of eight bits, there are at least 240 that don’t appear in the codebook. If the receiver receives one of those 240 sequences, she knows that an error has crept into the data. But of the 16 permitted codes, there’s likely to be only one that best fits the received sequence — that differs, say, by only a digit.

Shannon showed that, statistically, if you consider all possible assignments of random codes to messages, there must be at least one that approaches the Shannon limit. The longer the code, the closer you can get: eight-bit codes for four-bit messages wouldn’t actually get you very close, but two-thousand-bit codes for thousand-bit messages could.

Of course, the coding scheme Shannon described is totally impractical: a codebook with a separate, randomly assigned code for every possible thousand-bit message wouldn’t begin to fit on all the hard drives of all the computers in the world. But Shannon’s proof held out the tantalizing possibility that, since capacity-approaching codes must exist, there might be a more efficient way to find them.

The quest for such a code lasted until the 1990s. But that’s only because the best-performing code that we now know of, which was invented at MIT, was ignored for more than 30 years. That, however, is a story for the next installment of Explained.

Second part: Explained: Gallager codes.

Explore further: Researcher finds optimal fix-free codes

Related Stories

Researcher finds optimal fix-free codes

April 3, 2009

(PhysOrg.com) -- More than 50 years after David Huffman developed Huffman coding, an entropy encoding algorithm used for lossless data compression in computer science and information theory, an electrical and computer engineering ...

Hello, Hello, Earth?

December 5, 2004

If ET ever phones home, chances are Earthlings wouldn't recognize the call as anything other than random noise or a star. New research shows that highly efficient electromagnetic transmissions from our neighbors in space ...

First International Conference on Quantum Error Correction

October 1, 2007

Quantum error correction of decoherence and faulty control operations forms the backbone of all of quantum information processing. In spite of remarkable progress on this front ever since the discovery of quantum error correcting ...

Optical fibre: secure in all the chaos

January 17, 2008

Secure messages hidden in chaotic waveforms, transmitted at up to 10 gigabits per second, is the vision behind a group of dedicated European researchers. Now they are prototyping the equipment that could make the vision a ...

GIOVE-A navigation signal available to users

March 2, 2007

The GIOVE-A Signal-in-Space Interface Control Document, the document that gives the technical details of the signals transmitted by the GIOVE-A satellite, has been released. This will allow receiver manufacturers and research ...

Recommended for you

Privacy becomes a selling point at tech show

January 7, 2019

Apple is not among the exhibitors at the 2019 Consumer Electronics Show, but that didn't prevent the iPhone maker from sending a message to attendees on a large billboard.

China's Huawei unveils chip for global big data market

January 7, 2019

Huawei Technologies Ltd. showed off a new processor chip for data centers and cloud computing Monday, expanding into new and growing markets despite Western warnings the company might be a security risk.


Adjust slider to filter visible comments by rank

Display comments: newest first

not rated yet Jan 19, 2010
Any details about this "best-performing code"??
There is new error correction method very near Shannon's limit: which is finally linear (not exponential as usual), works for any noise levels (not only low as usual), allows to manipulate the amount of redundancy added in continuous way (not simple fractions ratios as usual) and allows additionally to simultaneously compress and encrypt the data well.
Here is simulator of it's processing and link to the paper:
not rated yet Jan 19, 2010
Best performing code is a function of your noise characteristic.

Some channels have a probabilistic approach to noise (e.g. by flipping the occasional bit with each bit flip being randomly distributed)

Some channels have noise that occurs in blocks (e.g. when lightning strikes nearby you get a whole block of data that is corrupted)

It's also a function of how probable the individual bit sequences in your message are (i.e. it may be advantageous to encode frequently used signals in shorter bit sequences at the cost of making very seldom occuring signals very long)

Shannon's papers are extremely interesting. I would recommend anyone who is into information encoding/transmission (or encrypting/decrypting) to read them.

not rated yet Jan 20, 2010
Theoretical limit is one thing, the real question is how to get near it in practice - not requiring exponential correction time as it is supposed to..
Ok,I've understood 30 years from now, but I think they've meant from 1990 when Gallager's LDPC was reinvented by MacKay. This near Shannon's limit approach usually requires square time for placing the parity bits and exponential time for correction process and so can be used only for very low noises.

Strength of the approach from the link is that the verification for the correction process is made locally - we don't longer need to work simultaneously on the whole message as in sudoku-like LDPC correction, but we expand our 'correction tree' bit by bit and have immediate probabilistic verification, making that the tree has finite expected width and so we need linear time for correction process for any noise levels.

About Shannon's ideas for cryptography in times of quantum computers:
not rated yet Jan 20, 2010
The amazing thing that Shannon proved (his noisy channel coding theorem) is that you can get an *arbitrarily* small error probability on a noisy channel, without the data rate becoming zero. A highly counterinituitive result.
not rated yet Jan 20, 2010
Why counterintuitive?
Sending such 'uncertain' bit - let say '1' with 1-p probability really denotes '1' and with p it was intended to be '0' - so the information which of theses cases it is contains
h(p)= -p lg(p)-(1-p)lg(1-p) bits
so such 'uncertain bit' contains 1-h(p) real bits of information - it's exactly the Shannon's limit.

Please sign in to add a comment. Registration is free, and takes less than a minute. Read more

Click here to reset your password.
Sign in to get notified via email when new comments are made.