在python中汉明码解码器?

时间:2014-02-14 11:14:50

标签: python brute-force error-correction hamming-code

我试图比较三种不同的解码器,用于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])这样的向量时。

1 个答案:

答案 0 :(得分:0)

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