我们有一个任务,我们必须用python编写一个程序,用LZ-78压缩一个txt文件,然后用“循环码”对压缩后的文件进行编码,然后把它作为json文件发送给接收器。我找不到确切的解释,教授所说的循环码是什么意思。
我在网上搜索了CRC和Reed-Solomon,但我不确定这两个是不是正确的代码,所以你能解释一下我是否可以使用它们,或者我是否需要一些不同的代码。
我不确定这是否有帮助,但对于一些团队,他指定希望他们使用Reed-Muller。
发布于 2019-07-01 06:29:19
循环码是什么意思?
每个有效码字都可以旋转(向左或向右),结果将是另一个有效码字。CRC (至少不后补CRC的那些)、BCH码和BCH型里德-所罗门码都是循环码。原始视图里德-所罗门码不是循环的,除非使用一组特定的评估值,即场基元α的连续幂。
编码和解码通常不会直接利用循环码的循环性质,只是作为一种可能的方法(与查找表相反的反向循环)来纠正单个突发错误。
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是一类较旧的代码,它们不是循环的。
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
由于"cyclic“和"Reed Muller”之间的冲突,你可能应该向教授寻求澄清。
https://stackoverflow.com/questions/56827366
复制相似问题