如何解决有没有办法概括这个 Reed-Solomon 编码器/解码器?
我正在尝试使用库 https://github.com/lrq3000/unireedsolomon
在 GF(8) 上使用原始多项式 0x3f3 (1+x+x^3) 构建 [7,4,4] RS 代码使用命令初始化编码器
coder = rs.RSCoder(7,prim = 0x3f3,c_exp = 3)
我收到以下错误:
Traceback (most recent call last):
File "/home/damuna/HACKATHON/RS.py",line 174,in <module>
coder = rs.RSCoder(7,prim=0x3f3,c_exp = 3)
File "/home/damuna/.local/lib/python3.8/site-packages/unireedsolomon/rs.py",line 89,in __init__
init_lut(generator=generator,prim=prim,c_exp=self.gf2_c_exp)
File "/home/damuna/.local/lib/python3.8/site-packages/unireedsolomon/ff.py",line 154,in init_lut
logtable[x] = i
IndexError: list assignment index out of range
该库用于通过 GF(16) 生成通常的 (255,223) RS 代码,在尝试对此进行概括时似乎效果不佳,有人有想法吗? (函数在存储库的“rs.py”文件中找到)
解决方法
代码应该是:
coder = rs.RSCoder(7,4,prim = 0xb,c_exp = 3) # all numbers are powers of 3
代码还可以将 2 定义为原始元素:
coder = rs.RSCoder(7,c_exp = 2) # all numbers are powers of 2
0x3f3 = 0x3 * 0x3 * 0x3 * 0xb * 0xb(在二进制 GF(2) 数学中)并且不代表可用于 GF(512) 的不可约多项式。这可能是导致错误的原因。
RS(255,...) 需要 GF(256) 或更大。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。