Cyclic Redundancy Check Simulation

written by Crystal Barchet and Teresa Carrigan

Run model in your browser



This model demonstrates sending a message using Cyclic Redundancy Check (CRC). CRC is a commonly used error detection technique.



A generator is chosen randomly from a list of allowed generators, and a random message created. The message is padded with zeroes (one less than the number of bits in the generator). This new message is divided by the generator by using modulo 2 arithmetic, which is the same as XOR. If the remainder is more than one digit less than the generator, then the front of it is padded with zeroes so that it is exactly one digit less than the generator. The new remainder is added onto the end of the original message and this is the packet to be sent.


Applets on this website were written by Teresa Carrigan in 2004, for use in computer science courses at Blackburn College, with the exception of the Fireworks applet. The applets made with NetLogo require Java 1.4.1 or higher to run. The applets made with NetBeans require Java 1.4.2 or higher to run. Applets might not run on Windows 95 or Mac OS 8 or 9. You may obtain the latest Java plugin from Sun's Java site.