可以处理较大字符串的Python擦除编码库



我正在寻找一个适用于较大输入的python擦除编码库。到目前为止,我已经结账:

  • unireedsolomon:256字节输入失败,未维护
  • reedsolo/redsolomon:300字节的静默输入失败
  • Reed Solomon显然是一个学习项目,bug跟踪器被禁用
  • pyeclib:使用reed-solomon编码的100字节输入失败,并且似乎没有提供任何关于有效参数的文档,所以我不知道如何测试其他算法(libeasurecode也不知道(

我想要一个可以处理n=10000 k=2000左右的东西,最好更大。

只有域多项式必须是素数或基元,而不是生成多项式。如果你想要一个RS(1000080002000((n=10000,k=8000,n-k=2000(代码,可以使用具有基元归约多项式x^16+x^12+x^3+x^1+1的GF(2^16(。生成多项式的次数为2000次。假设第一个连续根为2,则生成多项式=(x-2((x-4((x-8(。。。(x-2^2000((所有这些在GF(2^16(中完成的数学运算,+和-都是xor(。校正将涉及生成2000个综合征,并使用Berlekamp-Massey或Sugiyama的扩展欧几里得解码器。我不知道是否有Python库支持GF(2^16(。

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

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

大的n和k可以通过交错来避免。像LTO这样的磁带驱动器将大数据块视为使用GF(2^8(在行(称为C1(和下列(称为C2(之间交错的矩阵。LTO-8使用RS(249237,13(,我认为这是ECC在列下用于纠正行。对于32个读写磁头,有32个交错,可能是跨行的。我不知道行间的RS((代码是什么,也不知道列间的交错是什么

相关内容

  • 没有找到相关文章

最新更新