用汉明码解码?

2024-10-01 09:25:54 发布

您现在位置: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]),输出只是[],而不是任何二进制数序列。在


Tags: inforlendefrange局部解码器int
1条回答
网友
1楼 · 发布于 2024-10-01 09:25:54

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

相关问题 更多 >