0

我有一个写在循环磁带上的 N 位数组。我从磁带上的一个随机位置开始读取一系列 M 个符号。我正在考虑 Reed Solomon 纠错尝试所有可能的消息起点,但至少所有 RS 实现都使用字节。这是一个实现问题还是 RS 需要在 Galois 领域具有一定的能力并且不能使用更小的尺寸?

我也尝试过使用 LDPC 和 Hamming 码,但它们会恢复所有消息,因此没有内置的健全性检查可用于检测消息的起点。

4

1 回答 1

1

在 GF(2) 的情况下,使用 BCH 纠错码,其中数据和奇偶校验位是单个位,但纠错过程会生成作为 GF(2^n) 元素的校正子,其中 n 是根据位数选择的将被纠正和消息大小(包括奇偶校验位)。

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

wiki BCH 代码文章没有提到 Berlekamp Massey 或 Sugyama 扩展的 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 个可能的符号,包括奇偶校验符号的最大消息长度为 p^n-1典型的“BCH 视图”RS 实现。或 p^n 用于不太流行的“原始视图”实现。

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

您可以将较小的字段用于 RS 代码,例如 GF(2^3)(3 位符号),“BCH 视图”RS 的最大消息大小为 7 个符号,包括奇偶校验。使用 GF(2^4) 将其增加到 15 个符号,GF(2^5) 增加到 31 个符号,...

于 2021-04-16T19:00:58.743 回答