Convolutional Coding Notes [ For CWNA Folks ]
Last Post: October 27, 2009:
-
Rick Murphy has done a beautiful job in explaining convolutional coding in his OFDM tutorial series. I would strongly recommend all CWNA candidates to read his series.
http://www.cwnp.com/community/articles/understanding_ofdm_-_part_3.html
This often overlooked subject area is vitally important in today???¡é?¡é?????¡é???¡és highly technical world. Convolutional coding [ and subsequent forms of decoding ] are used ???¡é?¡é?????¡?¡°behind the scenes???¡é?¡é???????? in many aspects of our daily lives, such as watching cable TV programs, telephone calls via satellite etc.
But how did all this stuff start ? Many years ago, High Frequency [ HF, 3-30 Mhz ] radio signals along with transatlantic submarine cables were just about the only means of international communications [ apart from the mail !!]. Messages would be sent from one place to another via HF by an operator. You would tell the operator what to send, and he would transmit it for you. HF is still used nowadays in some places, but has mostly been delegated as an emergency backup system in case the main phone systems etc go down in national emergencies. Basically, radio waves are sent upwards into the sky. There are different layers surrounding the earth, with charged particles being present. By a process of refraction [ remember that from CWNA studies ? ] these radio waves are bent back towards the earth. The height of the layers of charged particles varies according to the time of day [ energy from the sun causes neutral molecules to become ???¡é?¡é?????¡?¡°spilt???¡é?¡é???????? into positively and negatively charged particles ???¡é?¡é?????¡é?€?? at night, these particles tend to recombine ]. As the height of the refractive layers varies, the point on earth where the radio waves ???¡é?¡é?????¡?¡°come back down???¡é?¡é???????? varies. HF operators have to change frequencies frequently to compensate for this.
http://www.ae4rv.com/tn/propflash.htm
So what does all this have to do with convolutional coding ? Well, due to the fact that HF is not an inherently reliable system, sometimes messages would get corrupted. An operator would usually be able to ???¡é?¡é?????¡?¡°decode???¡é?¡é???????? the true meaning and ask for a repeat of the message. As time went by, machines began to replace some of the operators???¡é?¡é?????¡é???¡é functions. Teletypes [ those chattering machines spewing out paper you see in old movies ] were used to send and receive messages [ usually using puched paper tape ]. Simple forms of error detection were created such as parity checks and Hamming codes. These machines were then able to detect some errors and alert an operator. After some time, a system called ARQ [ Automatic Repeat Request ] was developed. With this system, after a block of data [ a message ] was sent, the transmitter would wait a little bit before sending the next block. During this time, the receiver would examine the block and determine if there was an error. If all was OK, it would signal the transmitter ???¡é?¡é?????¡?¡°Everything is good, you can send the next block ???¡é?¡é?????¡?¡°. However, if there was an error [ or errors ] it would send an ARQ signal. The transmitter would say ???¡é?¡é?????¡?¡°OK, my message didn???¡é?¡é?????¡é???¡ét arrive at the other end OK, I???¡é?¡é?????¡é???¡ém going to re-send it???¡é?¡é????????.
This system chugged along merrily for many years, with small improvements here and there. What really got coding systems development going was the introduction of geostationary satellites. As I???¡é?¡é?????¡é???¡éve mentioned in a previous post, these satellites orbit at about 22,300 miles above the earths???¡é?¡é?????¡é???¡é surface and appear to be stationary from an observer???¡é?¡é?????¡é???¡és view point on Earth. A signal takes approximately [ depending on location on Earth ] a quarter of a second to get from the transmitting satellite station to the satellite and back down to the receiving station. Imagine that we send from the Tx [ transmitting station ] to the Rx [ receiving station ] a message which somehow gets corrupted. The Rx station now has to send an ARQ message back to the Tx station. Half a second has now ellapsed. When early systems were in use, this was just an annoyance. However, as data rates increased to 1,2 Mbit/s etc this half second of delay became intolerable. Instead of just having error detecting codes [ such as parity, CRC etc ] a whole new generation of codes were developed called Error Detecting and CORRECTING Codes. The idea behind these codes is that the Tx station adds extra bits [ called EDC bits ] to the data to the transmitted. The Rx station can not only detect most types of errors based on it???¡é?¡é?????¡é???¡és decoding system, but can correct most of them without having to request a repeat. This then means that we can avoid the half second delay of asking for a repeat in most cases.
One of the people most responsible for the development of these codes was Dr. Andrew Viterbi, who gave a huge kick-start to the cellular telephone industry. In fact, soft-decision Viterbi decoding is one of the most popular decoding systems in existence.
http://en.wikipedia.org/wiki/Andrew_Viterbi
These codes are becoming more and more important in Wi-Fi systems, and basic knowledge of their operation is becoming more and more important.
Dave
- 1