The Cyclic Code Simulator

Run Simulator!
Help (Usage of the simulator)

The cyclic code encode / decode Java simulator operates by serially shifting bits from the left of the specified input string through Encode in or Decode in, for encoding and decoding respectively. The contents of the shift register are then shifted out through the Encode/Decode out. The following control selectors and dialog boxes are used:
  • Encode/Decode: Toggles between encoding and decoding, you must select this operation before attempting to enter any input values
  • Reset: Flush the shift register and clear all fields and reset the input
  • Check Polynomial: Check G(x) is valid generator polynomial or not.
  • Run: Performs all clocked operations.
  • Step Run: Performs one clocked operation of the shift register. Each step will process one input bit and a time and/or completely flush the contents of the register. Use this button when you know how the encode/decoder works. You will need to press 'Run Step' until you see a "Simulation complete" for things to work as expected.
  • Polynomial: Enter the G(x) polynomial using ^ as the exponent operator. Thus to enter the CRC-12 polynomial you would type in:
    1+x^1+x^2+x^3+x^11+x^12 and then press Enter
  • Input bits (k): Specify the size of the message bits by entering a number and then pressing Enter.
  • Code bits (n): Displays the size of the codeword which is defined as k + d where d = (n-k) is the degree of G(x).
  • Input String dialog: Enter the input string for encoding (must be a multiple of k) or decoding (must be a multiple of n) and then press Enter. The input string should be an unbroken sequence of bits, e.g. 0010 is a 4-bit sequence.
  • Input String display: Displays which bits of the Input String have been processed by the encoder / decoder circuit.
  • Output String: If encoding this shows the Input String as it is being processed and is then followed by the shift register contents to form the codeword. If decoding this will show the final shift register contents after processing the received word which forms the reminder.
View Sources