我们有一项任务,必须在python中编写一个程序,使用LZ-78压缩txt文件,然后使用“循环代码”对压缩文件进行编码,然后将其作为json文件发送给接收者。我找不到确切的解释,教授用循环代码表示什么。
我在网上搜索后发现有关CRC和Reed-Solomon的信息,但是我不确定这两个代码是否正确,因此请您向我解释一下是否可以使用这些代码,或者需要一些不同的东西。
我不确定是否有帮助,但是对于某些团队,他指定他希望他们使用Reed-Muller。
答案 0 :(得分:0)
循环代码是什么意思?
每个有效代码字都可以旋转(向左或向右),结果将是另一个有效代码字。 CRC(至少不进行CRC补充的代码),BCH码和BCH类型的Reed Solomon码是循环码。除非使用一组特定的评估值和原始图元alpha的连续幂,否则原始视图Reed Solomon代码不是循环的。
编码和解码通常不直接利用循环码的循环性质,除了作为一种纠正单脉冲串错误的可能方法(反向循环而不是查找表)之外。
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
由于“循环”和“里德·穆勒”之间的冲突,您可能应该请教授澄清。