用于实际应用的错误控制编码

时间:2012-06-06 04:16:31

标签: error-correction forwarderrorcorrection

我正在做一个设备,用来测量橡胶种植园中橡胶树的周长。 我需要为每棵树提供一个标识来存储每棵树的测量值。 每棵树的ID包含33位(二进制)。对于错误检测和纠正,我希望将这个33位字编码为代码字(使用错误控制编码技术)并生成2D矩阵(颜色矩阵 - 红色和青色方块代表1和0)。 2D矩阵将表示编码字。该矩阵将粘贴在树的树干上。并且将使用相机(设备)拍摄2D矩阵的图像,然后解码代码,然后将获取树的ID。

我正在寻找实施此方案的最佳方案。我想到了用于编码的循环码,但由于数据字是33位,因此循环码似乎有点复杂。

有人可以建议最好的方式(至少是一种好方法)来实现这个???

附加信息:图像是在森林环境中拍摄的(低光照条件下),考虑到环境,使用颜色矩阵。(树的树皮是黑色的,所以黑白矩阵是不合适的)

1 个答案:

答案 0 :(得分:1)

一种方法是使用2D奇偶校验码。产生的代码字是一个矩阵,并且具有单纠错(SEC)功能。

由于您的信息部分(树ID)具有33位,因此您可能需要添加一些虚拟位,以使代码字成为2D矩形(例如6x6信息部分)。如果一棵树的ID是1010_1010_1010_1010_1010_1010_1010_1010_1,则再添加3个0,我们将其表示为:

1 0 1 0 1 0 | 1
1 0 1 0 1 0 | 1
1 0 1 0 1 0 | 1
1 0 1 0 1 0 | 1
1 0 1 0 1 0 | 1
1 0 1 0 0 0 | 0
—————————————
0 0 0 0 1 0   1

然后您将获得一个(n,k,d)=(49,36,3)码,该代码可以纠正1位错误。