问题标签 [bch-code]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
366 浏览

algorithm - 二维码生成算法实现案例分析

我正在实施thonky.com上解释的 QR 码生成算法,我试图了解其中一种情况:

本页本页所述,我可以推断,如果代码受 M 纠错级别保护,并且选择的掩码为 0 号,则格式字符串的前 5 位(非异或)为 '00000',因此,整个 15 位字符串为零。

下一步是删除所有前导零,这也是所有前导零。这意味着没有什么可以对生成多项式字符串(10100110111)进行异或,因此给了我们一个由 15 个零组成的最终字符串,这意味着最终(异或)字符串将只是掩码字符串(101010000010010)。我正在寻求确认我的逻辑是正确的。

非常感谢大家的帮助。

0 投票
1 回答
267 浏览

matlab - 用于 BCH 简化二进制版本的 Berlekamp Massey 算法

我试图遵循林,科斯特洛在第 6 章第 210 页中对二进制情况的简化 BM 算法的解释,但没有成功找到错误定位器多项式。我正在尝试像这样在 MATLAB 中实现它:

我想看看出了什么问题,但我做不到。它适用于书中的示例,但并非总是如此。顺便说一句,需要计算差异 S_2mu+3,但是当我只有 24 个校正子系数时,它是如何在步骤 11 中计算的,其中 2*11 + 3 是 25?提前致谢!

0 投票
1 回答
304 浏览

matlab - Matlab - Chien Search 实现初始化

我正在尝试实现 DVBS2 (48408, 48600) BCH 解码器,但在查找定位器多项式的根时遇到了麻烦。对于此处的 Chien 搜索,作者初始化寄存器时考虑到它是从 (2^16 - 1) 中减去 48600 后缩短的。为什么这样?这是我到目前为止的代码:

除了一些错误位置外,它几乎给了我正确的结果。例如:对于位置上的错误

上面的代码给了我

从 48600 中减去后得到:

这是位置负 1,除了 37403,它没有找到。我错过了什么?

编辑:

有问题的代码是 DVBS2 12 纠错 48408、48600 BCH 代码。生成多项式的次数为 192,通过乘以标准文档中给出的 12 个最小多项式得到。