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
- 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
- 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.