The Cyclic Code Encoder / Decoder
Be sure you have enabled your browser for Java before proceeding. Otherwise
nothing will happen! This demonstration makes use of colour so:
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 as
the check-bits or syndrome for encoding and decoding respectively.
The following control selectors and dialog boxes are used:
- Be sure you have a colour monitor!
- If you are running X11 be sure you have no problem with colourmap
allocation (watch out for any warnings when staring your browser)
- Be sure your default browser and desktop configuration allows you to
see black, blue and red foreground colours
Once the encoding simulation is complete, the Output String contents (which
represents the codeword) will be automatically copied to the Input String
dialog box when you select Decode operation.
Toggles between encoding and decoding, you must select this
operation before attempting to enter any input values
Flush the shift register and clear all fields and reset the input
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 Step when you know how the encode/decoder works. You will
need to press Steup until you see a "Simulation complete" for things to
work as expected.
- Delta Step:
Performs an instructional demonstration of how the shift register
operates by showing how bit values propagate through the system and what
values are clocked into the register cells. When the shift register contents
need to be flushed out each Delta Step performs one shift operation.
A backward Step (just in case you missed it!)
- Delta Back:
A backward Delta Step (replay in slow motion!)
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 syndrome of the decoding.
When you are ready to proceed, start
the cyclic code encoder / decoder Java engine.
If you are at a loss at what
to do have a look at a description of
exercises and experiments you can try out yourself.
Back to Unit Home Page