【问题标题】:Algorithm for generating a size k error-correcting code on n bits在 n 位上生成大小为 k 的纠错码的算法
【发布时间】:2010-07-05 02:44:29
【问题描述】:

我想为我想要分类的 k 个不同输入生成一个 n 位代码。该代码的主要要求是纠错标准:不同输入的任意两个编码之间的最小成对距离最大化。我不需要它是精确的 - 近似的就可以了,易用性和计算实现的速度也是一个优先事项。

一般情况下,n 为百,k 为几十。

另外,k 个不同的 n 位二进制编码之间的最小汉明距离是否有合理的严格限制?

【问题讨论】:

    标签: algorithm encoding hamming-distance


    【解决方案1】:

    为给定参数找到准确的最佳纠错码是非常困难的,即使是近似最佳的代码也很难。最重要的是,有些代码没有任何像样的解码算法,而对于其他代码,解码问题相当棘手。

    但是,您询问的是 n ≫ k 的特定参数范围,如果我理解正确,您需要长度为 n 的 k 维代码。 (因此 k 位被编码为 n 位。)在这个范围内,首先,随机码可能具有非常好的最小距离。唯一的问题是解码从不切实际到难以处理,实际计算最小距离也不是那么容易。

    其次,如果您想要一个明确的代码来处理 n ≫ k 的情况,那么您可以使用 q=2 的BCH code 做得相当好。正如维基百科页面所解释的,有一个很好的 BCH 码解码算法。

    关于最小汉明距离的上限,在 n ≫ k 范围内,您应该从 Hamming bound 开始,也称为体积界或球体堆积界。界的想法简单而优美:如果最小距离是 t,那么代码可以将错误纠正到距离 floor((t-1)/2)。如果您可以将错误纠正到某个半径,则意味着该半径的汉明球不重叠。另一方面,可能单词的总数是 2n,所以如果你将它除以一个汉明球中的点数(在二进制情况下是二项式系数的总和),你得到了无错误码字数量的上限。有可能突破这个界限,但对于较大的最小距离来说,这并不容易。在这种制度下,这是一个很好的界限。

    【讨论】:

      猜你喜欢
      • 2014-04-29
      • 2020-12-16
      • 1970-01-01
      • 2014-07-25
      • 2020-08-07
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 2010-11-26
      相关资源
      最近更新 更多