我有一个N比特的数组写在循环磁带上。我从磁带上的任意位置开始读取M个符号的序列。我在考虑里德·所罗门纠错,尝试消息的所有可能起点,但至少所有RS实现都是使用字节的。这是一个实现问题,还是RS在伽罗瓦领域需要一定的能力,不能与较小的尺寸一起工作?
我也尝试过LDPC和Hamming码,但它们可以恢复所有消息,所以没有内置的健全性检查,我可以用它来检测消息的起始点。
发布于 2021-04-17 03:00:59
在GF(2)的情况下,使用BCH纠错码,其中数据和奇偶校验是单个比特,但是纠错过程生成校正子,这些校正子是GF(2^n)的元素,其中n是根据要校正的比特数和消息大小(包括奇偶校验位)选择的。
https://en.wikipedia.org/wiki/BCH_code
wiki BCH代码文章没有提到Berlekamp Massey或Sugyama extended Euclid方法也可以用于将校验式转换为错误定位多项式。这些都在RS文章中进行了解释。由于符号是单个比特,因此误差值始终为== 1,不需要计算:
https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction#BCH_view_decoders
RS纠错码在GF( p^n )的有限域内操作,其中p是任意质数和n个>= 1,具有p^n个可能的符号,对于典型的"BCH view“RS实现,包括奇偶符号的最大消息长度是p^n-1。对于不太流行的“原始视图”实现,则为p^n。
https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction#Constructions
您可以对RS代码使用较小的字段,例如GF(2^3) (3位符号),"BCH view“RS的最大消息大小为7个符号(包括奇偶校验)。使用GF(2^4)将其增加到15个符号,使用GF(2^5)增加到31个符号,...
https://stackoverflow.com/questions/67126183
复制相似问题