0

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

我正在寻找实现这一点的最佳方案。我想到了循环码进行编码,但由于数据字是 33 位循环码似乎有点复杂。

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

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

4

1 回答 1

1

一种方法是使用二维奇偶校验码。生成的码字是一个矩阵,它具有单次纠错 (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 位错误。

于 2018-07-26T19:51:33.567 回答