0
votes

We have an assignment where we must make a program in python that compresses a txt file with LZ-78, then encode the compressed file with "cyclic code", and after that send it as a json file to a reciever. I can't find an exact clarification what the professor means by cyclic code.

I searched the web and I found about CRC and Reed-Solomon but I'm not sure if these two are the correct codes to use, so can you please explain to me if these are okay for me to use or if I need something different.

I'm not sure if it helps, but for some teams he specified that he wanted them to use Reed-Muller.

1
Are you able to ask the professor for clarification? That’s probably the safest way.Ry-
I've sent an email, but still no answerThe Wolf

1 Answers

0
votes

what does cyclic code mean?

That every valid codeword can be rotated (left or right), and the result will be another valid code word. CRC (at least ones that don't post complement the CRC), BCH codes, and BCH type Reed Solomon codes are cyclic codes. Original view Reed Solomon codes are not cyclic unless a set of specific set of evaluation values, successive powers of the field primitive alpha is used.

Encoding and decoding normally don't directly exploit the cyclic nature of cyclic codes, other than as a possible method (reverse cycling as opposed to a lookup table) to correct single burst errors.

https://en.wikipedia.org/wiki/Cyclic_code

https://en.wikipedia.org/wiki/BCH_code

https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction

Reed Muller is a class of older codes that are not cyclic.

https://en.wikipedia.org/wiki/Reed%E2%80%93Muller_code

http://www-math.ucdenver.edu/~wcherowi/courses/m7823/reedmuller.pdf

http://www.mcs.csueastbay.edu/~malek/Class/Reed-Muller.pdf

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.208.440&rep=rep1&type=pdf

Due to the conflict between "cyclic" and "Reed Muller", you should probably ask the professor for clarification.