如何解决循环磁带中短7-10 位窗口读取的纠错码
我在循环磁带上写了一个 N 位数组。我从磁带上的一个随机位置开始读取一系列 M 个符号。我正在考虑尝试所有可能的消息起点的 Reed Solomon 纠错,但至少所有 RS 实现都使用字节。这是实现问题还是 RS 在 Galois 域中需要一定的功率并且不能在较小的尺寸下工作?
我还尝试使用 LDPC 和汉明码进行试验,但它们会恢复所有消息,因此没有内置的完整性检查可用于检测消息的起点。
解决方法
在 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 个符号,...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。