2014-07-16 46 views
0

我想编写一个Reed-Solomon解码器并进行性能改进实验。我在哪里可以找到带有附加Reed-Solomon奇偶校验字节的示例数据?我可以在哪里获得样本Reed-Solomon编码数据?

我知道,里德所罗门用于各种一维和二维条码,但我希望有原始数据(一个字节数组),有效载荷和奇偶校验字节清晰分离。

任何帮助表示赞赏。

+0

要让你自己使用任何字节数据并不难,例如一个文件,作为一个起点。 – 101

回答

0

基本上,Reed-Solomon码将由值为0到(m-1)之间的值的字符组成,其中m是用于生成RS码的伽罗瓦域的曝光度。例如,在GF(2^8)(2^8 = 256)中,您将得到一个由0到255之间的字符组成的RS码(兼容ASCII,UTF-8和通常的二进制编码)。在GF(2^16)中,您将得到0到65535之间的字符(与UTF-16兼容,或者如果您将2个字符编码为一个字符,则与UTF-8兼容)。

除了RS码的每个字符的值的范围外,其余的所有其余部分基本上可以认为是外部POV的随机值(这不是如果您有生成多项式和Galois字段,但是为了获得样本,您可以假定有效范围内的值的随机分布)。

如果要生成具有相应数据块的RS代码的实际样本,可以使用Python library pyFileFixity(免责声明,我是作者)。默认情况下,每个ecc块由md5摘要分隔,以便您可以清楚地分开它们。原始数据未被存储,但您可以通过修改脚本structural_adaptive_ecc.py或header_ecc.py(后者将更易于修改)来轻松地完成此操作,以便还可以存储原始数据(它只是一个用于编辑的file.write() )。如果Python不是你的东西,你可能会找到一个Reed-Solomon库供你选择的语言,只需稍作修改即可打印或保存ecc块中的原始数据。

相关问题