python中的汉明代码解码器



我正在尝试比较python中汉明代码的三种不同解码器:蛮力,本地搜索和综合症。我在暴力实施方面遇到问题:

def bruteForce(v):
    n = len(v)
    r = int(math.log(n+1,2))
    k = n-r
    m = []
    d = []
    c = []
    for i in range(2**k):
        m.append(decimalToVector(i,k))
    for j in range(2**k):
        d.append(hammingDistance(matrixMult(m[j], HammingG(r)),v))
    for l in range(2**k):
        if d[l] <= 1:
             c = matrixMult(m[l], HammingG(r))
    return c

这运行没有错误,但是当输入是 bruteForce([1,0,0,0,0,0,1]) 等向量时,输出只是 [] ,而不是任何二进制数序列。

这只是

猜测,但你不妨检查一下d[l] <= 1是否真的正确。 汉明码的标志之一是纠错,这是可能的,因为最小距离是3。 您的代码看起来就像您实现了仅仅是奇偶校验代码(最小距离 == 1)。

相关内容

  • 没有找到相关文章

最新更新