0

我们有一个任务,我们必须在 python 中编写一个程序,用 LZ-78 压缩一个 txt 文件,然后用“循环代码”对压缩文件进行编码,然后将其作为 json 文件发送给接收者。我找不到确切的说明,教授所说的循环代码是什么意思。

我在网上搜索并找到了关于 CRC 和 Reed-Solomon 的信息,但我不确定这两个代码是否正确使用,所以请您向我解释一下这些代码是否适合我使用或者我需要不同的代码.

我不确定这是否有帮助,但对于某些团队,他明确表示希望他们使用 Reed-Muller。

4

1 回答 1

0

循环码是什么意思?

每个有效的代码字都可以旋转(左或右),结果将是另一个有效的代码字。CRC(至少那些不补充 CRC 的)、BCH 码和 BCH 类型的 Reed Solomon 码是循环码。原始视图 Reed Solomon 码不是循环的,除非使用一组特定的评估值集,使用域原语 alpha 的连续幂。

编码和解码通常不直接利用循环码的循环特性,而是作为一种可能的方法(反向循环而不是查找表)来纠正单个突发错误。

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

由于“循环”和“Reed Muller”之间的冲突,您可能应该向教授寻求澄清。

于 2019-06-30T22:29:19.153 回答