Now three researchers Gregory Wornell, a professor in the Department of Electrical Engineering and Computer Science at MIT, Uri Erez of Tel Aviv University in Israel and Mitchell Trott at Google have a solution to the problem.
The trick is to only use enough error correction to get the message thought. The message is first coded into a number of related code words which are sent one after another. The first code word is enough to retrieve the message from if it is received without error. If it an error has occurred then the next code word is sent which has additional error correction bits that can be used to decode the message. If this is received with too many errors then another code word is sent and this continues until the receiver signal back that it has the message and no more code words are needed.
So on a good channel the message gets through with a low overhead but if the noise gets worse more code words are sent to make sure it does get though.
In principle the new code could make radio communications more efficient and reliable. Only problem is that they have been awarded a patent on the idea so you can't just go and use the new code.