Saturday, April 18, 2009

The intricacies of CRC encoding

Recently, we at SPG got involved in high speed data transmission issues and in particular the CRC algorithm. The algorithm itself has been around forever it seems, yet its simplicity is very appealing. Anyone involved in it, or about to get involved in data transmission is probably very familiar with it. In any case I found it very interesting.

The basic scoop on it is as follows: ( Interested readers may view the details on our webpage: www.signalpro.biz>engineering_pages>engineer's corner and look for the detailed article and hardware implementations.)

The CRC procedure can be explained as follows: You have a data message you want to transmit which is k bits long. You can use the CRC to generate another sequence of bits that is n bits long. The latter sequence is called the frame check sequence. What you have to do is actually trasmit both the original k bits of your message and the FCS that is n bits long. Therefore the total length of your transmitted message becomes k + n bits. This k+n bits should be exactly divisible by some predetermined number.

At the receiver the received k+n bit long message is divided by the same predetermined number. If there is no remainder then the message has been received without errors. If there is a remainder then the message has errors. Its as simple as that!

No comments:

Post a Comment